1. 07 Jul, 2021 38 commits
  2. 25 May, 2021 2 commits
    • Dai Ngo's avatar
      NFSD: delay unmount source's export after inter-server copy completed. · f4e44b39
      Dai Ngo authored
      Currently the source's export is mounted and unmounted on every
      inter-server copy operation. This patch is an enhancement to delay
      the unmount of the source export for a certain period of time to
      eliminate the mount and unmount overhead on subsequent copy operations.
      
      After a copy operation completes, a work entry is added to the
      delayed unmount list with an expiration time. This list is serviced
      by the laundromat thread to unmount the export of the expired entries.
      Each time the export is being used again, its expiration time is
      extended and the entry is re-inserted to the tail of the list.
      
      The unmount task and the mount operation of the copy request are
      synced to make sure the export is not unmounted while it's being
      used.
      Signed-off-by: default avatarDai Ngo <dai.ngo@oracle.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      f4e44b39
    • Olga Kornievskaia's avatar
      NFSD add vfs_fsync after async copy is done · eac0b17a
      Olga Kornievskaia authored
      Currently, the server does all copies as NFS_UNSTABLE. For synchronous
      copies linux client will append a COMMIT to the COPY compound but for
      async copies it does not (because COMMIT needs to be done after all
      bytes are copied and not as a reply to the COPY operation).
      
      However, in order to save the client doing a COMMIT as a separate
      rpc, the server can reply back with NFS_FILE_SYNC copy. This patch
      proposed to add vfs_fsync() call at the end of the async copy.
      Signed-off-by: default avatarOlga Kornievskaia <kolga@netapp.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      eac0b17a