summaryrefslogtreecommitdiff
path: root/fs/nfsd/netns.h
diff options
context:
space:
mode:
authorStanislav Kinsbursky <skinsbursky@parallels.com>2012-11-14 18:21:51 +0300
committerJ. Bruce Fields <bfields@redhat.com>2012-11-15 07:40:47 -0500
commit1872de0e8171904612ee85de218fa045bc473cad (patch)
tree807822b296dab38e1fad9ffacefe40b2757c3f1e /fs/nfsd/netns.h
parent20e9e2bc98b907efe82621797c561f6169d63d96 (diff)
nfsd: make sessionid_hashtbl allocated per net
This hash holds established sessions state and closely associated with nfs4_clients info, which are network namespace aware. So let's make it allocated per network namespace too. Note: this hash can be allocated in per-net operations. But it looks better to allocate it on nfsd state start and thus don't waste resources if server is not running. Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/netns.h')
-rw-r--r--fs/nfsd/netns.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfsd/netns.h b/fs/nfsd/netns.h
index 2281f6df5573..da33d3f804b0 100644
--- a/fs/nfsd/netns.h
+++ b/fs/nfsd/netns.h
@@ -32,6 +32,8 @@
#define LOCKOWNER_INO_HASH_BITS 8
#define LOCKOWNER_INO_HASH_SIZE (1 << LOCKOWNER_INO_HASH_BITS)
+#define SESSION_HASH_SIZE 512
+
struct cld_net;
struct nfsd_net {
@@ -65,6 +67,7 @@ struct nfsd_net {
struct rb_root unconf_name_tree;
struct list_head *ownerstr_hashtbl;
struct list_head *lockowner_ino_hashtbl;
+ struct list_head *sessionid_hashtbl;
};
extern int nfsd_net_id;