1. 09 Dec, 2020 5 commits
    • Dai Ngo's avatar
      NFSD: Fix 5 seconds delay when doing inter server copy · ca9364dd
      Dai Ngo authored
      Since commit b4868b44 ("NFSv4: Wait for stateid updates after
      CLOSE/OPEN_DOWNGRADE"), every inter server copy operation suffers 5
      seconds delay regardless of the size of the copy. The delay is from
      nfs_set_open_stateid_locked when the check by nfs_stateid_is_sequential
      fails because the seqid in both nfs4_state and nfs4_stateid are 0.
      
      Fix by modifying nfs4_init_cp_state to return the stateid with seqid 1
      instead of 0. This is also to conform with section 4.8 of RFC 7862.
      
      Here is the relevant paragraph from section 4.8 of RFC 7862:
      
         A copy offload stateid's seqid MUST NOT be zero.  In the context of a
         copy offload operation, it is inappropriate to indicate "the most
         recent copy offload operation" using a stateid with a seqid of zero
         (see Section 8.2.2 of [RFC5661]).  It is inappropriate because the
         stateid refers to internal state in the server and there may be
         several asynchronous COPY operations being performed in parallel on
         the same file by the server.  Therefore, a copy offload stateid with
         a seqid of zero MUST be considered invalid.
      
      Fixes: ce0887ac ("NFSD add nfs4 inter ssc to nfsd4_copy")
      Signed-off-by: default avatarDai Ngo <dai.ngo@oracle.com>
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      ca9364dd
    • Chuck Lever's avatar
      NFSD: Fix sparse warning in nfs4proc.c · eb162e17
      Chuck Lever authored
      linux/fs/nfsd/nfs4proc.c:1542:24: warning: incorrect type in assignment (different base types)
      linux/fs/nfsd/nfs4proc.c:1542:24:    expected restricted __be32 [assigned] [usertype] status
      linux/fs/nfsd/nfs4proc.c:1542:24:    got int
      
      Clean-up: The dup_copy_fields() function returns only zero, so make
      it return void for now, and get rid of the return code check.
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      eb162e17
    • Chuck Lever's avatar
      SUNRPC: Remove XDRBUF_SPARSE_PAGES flag in gss_proxy upcall · 5e54dafb
      Chuck Lever authored
      There's no need to defer allocation of pages for the receive buffer.
      
      - This upcall is quite infrequent
      - gssp_alloc_receive_pages() can allocate the pages with GFP_KERNEL,
        unlike the transport
      - gssp_alloc_receive_pages() knows exactly how many pages are needed
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      Reviewed-by: default avatarOlga Kornievskaia <kolga@netapp.com>
      5e54dafb
    • Roberto Bergantinos Corpas's avatar
      sunrpc: clean-up cache downcall · 4b5cff7e
      Roberto Bergantinos Corpas authored
      We can simplify code around cache_downcall unifying memory
      allocations using kvmalloc. This has the benefit of getting rid of
      cache_slow_downcall (and queue_io_mutex), and also matches userland
      allocation size and limits.
      Signed-off-by: default avatarRoberto Bergantinos Corpas <rbergant@redhat.com>
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      4b5cff7e
    • kazuo ito's avatar
      nfsd: Fix message level for normal termination · 4420440c
      kazuo ito authored
      The warning message from nfsd terminating normally
      can confuse system adminstrators or monitoring software.
      
      Though it's not exactly fair to pin-point a commit where it
      originated, the current form in the current place started
      to appear in:
      
      Fixes: e096bbc6 ("knfsd: remove special handling for SIGHUP")
      Signed-off-by: default avatarkazuo ito <kzpn200@gmail.com>
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      4420440c
  2. 30 Nov, 2020 35 commits