diff options
author | Stanislav Kinsbursky <skinsbursky@parallels.com> | 2012-11-14 19:21:16 +0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2012-11-15 16:40:43 +0400 |
commit | 52e19c09a183d82d99f10c284bc8b27933b1d1fc (patch) | |
tree | 7a4f21eecd888cea675d7ccddddfd03774337af4 /fs/nfsd/netns.h | |
parent | c212cecfa21b3d30cd5cc2389754a46973ad9027 (diff) | |
download | linux-52e19c09a183d82d99f10c284bc8b27933b1d1fc.tar.xz |
nfsd: make reclaim_str_hashtbl allocated per net
This hash holds nfs4_clients info, which are network namespace aware.
So let's make it allocated per network namespace.
Note: this hash is used only by legacy tracker. So let's allocate hash in
tracker init.
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.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/fs/nfsd/netns.h b/fs/nfsd/netns.h index 65c2431ea32f..49e54790d862 100644 --- a/fs/nfsd/netns.h +++ b/fs/nfsd/netns.h @@ -24,6 +24,11 @@ #include <net/net_namespace.h> #include <net/netns/generic.h> +/* Hash tables for nfs4_clientid state */ +#define CLIENT_HASH_BITS 4 +#define CLIENT_HASH_SIZE (1 << CLIENT_HASH_BITS) +#define CLIENT_HASH_MASK (CLIENT_HASH_SIZE - 1) + struct cld_net; struct nfsd_net { @@ -38,6 +43,13 @@ struct nfsd_net { struct lock_manager nfsd4_manager; bool grace_ended; time_t boot_time; + + /* + * reclaim_str_hashtbl[] holds known client info from previous reset/reboot + * used in reboot/reset lease grace period processing + */ + struct list_head *reclaim_str_hashtbl; + int reclaim_str_hashtbl_size; }; extern int nfsd_net_id; |