diff options
author | Jeff Layton <jlayton@redhat.com> | 2012-11-12 15:00:52 -0500 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2012-11-12 18:55:11 -0500 |
commit | 278c931cb05ae624df8c82b6bdfbb0e03392cde7 (patch) | |
tree | 95a118939afae6fb4d88184979d38e4d373001fb /fs | |
parent | 8b0554e9a24298c91de89a779a714c87073380a2 (diff) |
nfsd: have nfsd4_find_reclaim_client take a char * argument
Currently, it takes a client pointer, but later we're going to need to
search for these records without knowing whether a matching client even
exists.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfsd/nfs4recover.c | 2 | ||||
-rw-r--r-- | fs/nfsd/nfs4state.c | 11 | ||||
-rw-r--r-- | fs/nfsd/state.h | 2 |
3 files changed, 6 insertions, 9 deletions
diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c index 6aaf5d92a43..4e92fb38cfb 100644 --- a/fs/nfsd/nfs4recover.c +++ b/fs/nfsd/nfs4recover.c | |||
@@ -486,7 +486,7 @@ nfsd4_check_legacy_client(struct nfs4_client *clp) | |||
486 | return 0; | 486 | return 0; |
487 | 487 | ||
488 | /* look for it in the reclaim hashtable otherwise */ | 488 | /* look for it in the reclaim hashtable otherwise */ |
489 | if (nfsd4_find_reclaim_client(clp)) { | 489 | if (nfsd4_find_reclaim_client(clp->cl_recdir)) { |
490 | set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); | 490 | set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); |
491 | return 0; | 491 | return 0; |
492 | } | 492 | } |
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index d6b602a9265..18e554942da 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c | |||
@@ -4537,19 +4537,16 @@ nfs4_release_reclaim(void) | |||
4537 | /* | 4537 | /* |
4538 | * called from OPEN, CLAIM_PREVIOUS with a new clientid. */ | 4538 | * called from OPEN, CLAIM_PREVIOUS with a new clientid. */ |
4539 | struct nfs4_client_reclaim * | 4539 | struct nfs4_client_reclaim * |
4540 | nfsd4_find_reclaim_client(struct nfs4_client *clp) | 4540 | nfsd4_find_reclaim_client(const char *recdir) |
4541 | { | 4541 | { |
4542 | unsigned int strhashval; | 4542 | unsigned int strhashval; |
4543 | struct nfs4_client_reclaim *crp = NULL; | 4543 | struct nfs4_client_reclaim *crp = NULL; |
4544 | 4544 | ||
4545 | dprintk("NFSD: nfs4_find_reclaim_client for %.*s with recdir %s\n", | 4545 | dprintk("NFSD: nfs4_find_reclaim_client for recdir %s\n", recdir); |
4546 | clp->cl_name.len, clp->cl_name.data, | ||
4547 | clp->cl_recdir); | ||
4548 | 4546 | ||
4549 | /* find clp->cl_name in reclaim_str_hashtbl */ | 4547 | strhashval = clientstr_hashval(recdir); |
4550 | strhashval = clientstr_hashval(clp->cl_recdir); | ||
4551 | list_for_each_entry(crp, &reclaim_str_hashtbl[strhashval], cr_strhash) { | 4548 | list_for_each_entry(crp, &reclaim_str_hashtbl[strhashval], cr_strhash) { |
4552 | if (same_name(crp->cr_recdir, clp->cl_recdir)) { | 4549 | if (same_name(crp->cr_recdir, recdir)) { |
4553 | return crp; | 4550 | return crp; |
4554 | } | 4551 | } |
4555 | } | 4552 | } |
diff --git a/fs/nfsd/state.h b/fs/nfsd/state.h index 8053b574796..c41c28020ca 100644 --- a/fs/nfsd/state.h +++ b/fs/nfsd/state.h | |||
@@ -466,7 +466,7 @@ extern void nfs4_lock_state(void); | |||
466 | extern void nfs4_unlock_state(void); | 466 | extern void nfs4_unlock_state(void); |
467 | extern int nfs4_in_grace(void); | 467 | extern int nfs4_in_grace(void); |
468 | extern void nfs4_release_reclaim(void); | 468 | extern void nfs4_release_reclaim(void); |
469 | extern struct nfs4_client_reclaim *nfsd4_find_reclaim_client(struct nfs4_client *crp); | 469 | extern struct nfs4_client_reclaim *nfsd4_find_reclaim_client(const char *recdir); |
470 | extern __be32 nfs4_check_open_reclaim(clientid_t *clid, bool sessions); | 470 | extern __be32 nfs4_check_open_reclaim(clientid_t *clid, bool sessions); |
471 | extern void nfs4_free_openowner(struct nfs4_openowner *); | 471 | extern void nfs4_free_openowner(struct nfs4_openowner *); |
472 | extern void nfs4_free_lockowner(struct nfs4_lockowner *); | 472 | extern void nfs4_free_lockowner(struct nfs4_lockowner *); |