diff options
Diffstat (limited to 'fs/nfsd/nfs4state.c')
-rw-r--r-- | fs/nfsd/nfs4state.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 9fb8e52580f3..eff734033437 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c | |||
@@ -4763,6 +4763,21 @@ u64 nfsd_for_n_state(u64 max, u64 (*func)(struct nfs4_client *, u64)) | |||
4763 | return count; | 4763 | return count; |
4764 | } | 4764 | } |
4765 | 4765 | ||
4766 | struct nfs4_client *nfsd_find_client(struct sockaddr_storage *addr, size_t addr_size) | ||
4767 | { | ||
4768 | struct nfs4_client *clp; | ||
4769 | struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, nfsd_net_id); | ||
4770 | |||
4771 | if (!nfsd_netns_ready(nn)) | ||
4772 | return NULL; | ||
4773 | |||
4774 | list_for_each_entry(clp, &nn->client_lru, cl_lru) { | ||
4775 | if (memcmp(&clp->cl_addr, addr, addr_size) == 0) | ||
4776 | return clp; | ||
4777 | } | ||
4778 | return NULL; | ||
4779 | } | ||
4780 | |||
4766 | #endif /* CONFIG_NFSD_FAULT_INJECTION */ | 4781 | #endif /* CONFIG_NFSD_FAULT_INJECTION */ |
4767 | 4782 | ||
4768 | /* initialization to perform at module load time: */ | 4783 | /* initialization to perform at module load time: */ |