Skip to content

Commit

Permalink
nfsd: break out reclaim record removal into separate function
Browse files Browse the repository at this point in the history
We'll need to be able to call this from nfs4recover.c eventually.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
  • Loading branch information
Jeff Layton authored and J. Bruce Fields committed Nov 12, 2012
1 parent 278c931 commit ce30e53
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 3 deletions.
12 changes: 9 additions & 3 deletions fs/nfsd/nfs4state.c
Original file line number Diff line number Diff line change
Expand Up @@ -4516,6 +4516,14 @@ nfs4_client_to_reclaim(const char *name)
return 1;
}

void
nfs4_remove_reclaim_record(struct nfs4_client_reclaim *crp)
{
list_del(&crp->cr_strhash);
kfree(crp);
reclaim_str_hashtbl_size--;
}

void
nfs4_release_reclaim(void)
{
Expand All @@ -4526,9 +4534,7 @@ nfs4_release_reclaim(void)
while (!list_empty(&reclaim_str_hashtbl[i])) {
crp = list_entry(reclaim_str_hashtbl[i].next,
struct nfs4_client_reclaim, cr_strhash);
list_del(&crp->cr_strhash);
kfree(crp);
reclaim_str_hashtbl_size--;
nfs4_remove_reclaim_record(crp);
}
}
BUG_ON(reclaim_str_hashtbl_size);
Expand Down
1 change: 1 addition & 0 deletions fs/nfsd/state.h
Original file line number Diff line number Diff line change
Expand Up @@ -465,6 +465,7 @@ extern __be32 nfs4_preprocess_stateid_op(struct net *net,
extern void nfs4_lock_state(void);
extern void nfs4_unlock_state(void);
extern int nfs4_in_grace(void);
void nfs4_remove_reclaim_record(struct nfs4_client_reclaim *);
extern void nfs4_release_reclaim(void);
extern struct nfs4_client_reclaim *nfsd4_find_reclaim_client(const char *recdir);
extern __be32 nfs4_check_open_reclaim(clientid_t *clid, bool sessions);
Expand Down

0 comments on commit ce30e53

Please sign in to comment.