summaryrefslogtreecommitdiffstats
path: root/fs/nfsd/export.h
diff options
context:
space:
mode:
authorTrond Myklebust <trondmy@gmail.com>2018-10-01 16:41:47 +0200
committerJ. Bruce Fields <bfields@redhat.com>2018-10-29 21:58:04 +0100
commit9ceddd9da13434a5906255c0fc528c385aded283 (patch)
treed5ed18e9728d773bab61fdda32417c13c00f94af /fs/nfsd/export.h
parentSUNRPC: Make server side AUTH_UNIX use lockless lookups (diff)
downloadlinux-9ceddd9da13434a5906255c0fc528c385aded283.tar.xz
linux-9ceddd9da13434a5906255c0fc528c385aded283.zip
knfsd: Allow lockless lookups of the exports
Convert structs svc_expkey and svc_export to allow RCU protected lookups. Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/export.h')
-rw-r--r--fs/nfsd/export.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfsd/export.h b/fs/nfsd/export.h
index c8b74126ddaa..e7daa1f246f0 100644
--- a/fs/nfsd/export.h
+++ b/fs/nfsd/export.h
@@ -61,6 +61,7 @@ struct svc_export {
u32 ex_layout_types;
struct nfsd4_deviceid_map *ex_devid_map;
struct cache_detail *cd;
+ struct rcu_head ex_rcu;
};
/* an "export key" (expkey) maps a filehandlefragement to an
@@ -75,6 +76,7 @@ struct svc_expkey {
u32 ek_fsid[6];
struct path ek_path;
+ struct rcu_head ek_rcu;
};
#define EX_ISSYNC(exp) (!((exp)->ex_flags & NFSEXP_ASYNC))