summaryrefslogtreecommitdiff
path: root/include/linux/nfs_ssc.h
diff options
context:
space:
mode:
authorDai Ngo <dai.ngo@oracle.com>2022-12-19 03:55:53 +0300
committerChuck Lever <chuck.lever@oracle.com>2023-02-20 17:20:21 +0300
commitdf24ac7a2e3a9d0bc68f1756a880e50bfe4b4522 (patch)
tree98c6c8af145b6b734fdd08731c7913b6084f8ed6 /include/linux/nfs_ssc.h
parentf4afc8fead386c81fda2593ad6162271d26667f8 (diff)
downloadlinux-df24ac7a2e3a9d0bc68f1756a880e50bfe4b4522.tar.xz
NFSD: enhance inter-server copy cleanup
Currently nfsd4_setup_inter_ssc returns the vfsmount of the source server's export when the mount completes. After the copy is done nfsd4_cleanup_inter_ssc is called with the vfsmount of the source server and it searches nfsd_ssc_mount_list for a matching entry to do the clean up. The problems with this approach are (1) the need to search the nfsd_ssc_mount_list and (2) the code has to handle the case where the matching entry is not found which looks ugly. The enhancement is instead of nfsd4_setup_inter_ssc returning the vfsmount, it returns the nfsd4_ssc_umount_item which has the vfsmount embedded in it. When nfsd4_cleanup_inter_ssc is called it's passed with the nfsd4_ssc_umount_item directly to do the clean up so no searching is needed and there is no need to handle the 'not found' case. Signed-off-by: Dai Ngo <dai.ngo@oracle.com> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> [ cel: adjusted whitespace and variable/function names ] Reviewed-by: Olga Kornievskaia <kolga@netapp.com>
Diffstat (limited to 'include/linux/nfs_ssc.h')
-rw-r--r--include/linux/nfs_ssc.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/nfs_ssc.h b/include/linux/nfs_ssc.h
index 75843c00f326..22265b1ff080 100644
--- a/include/linux/nfs_ssc.h
+++ b/include/linux/nfs_ssc.h
@@ -53,6 +53,7 @@ static inline void nfs42_ssc_close(struct file *filep)
if (nfs_ssc_client_tbl.ssc_nfs4_ops)
(*nfs_ssc_client_tbl.ssc_nfs4_ops->sco_close)(filep);
}
+#endif
struct nfsd4_ssc_umount_item {
struct list_head nsui_list;
@@ -66,7 +67,6 @@ struct nfsd4_ssc_umount_item {
struct vfsmount *nsui_vfsmount;
char nsui_ipaddr[RPC_MAX_ADDRBUFLEN + 1];
};
-#endif
/*
* NFS_FS