Commit 393d8ed8 authored by J. Bruce Fields's avatar J. Bruce Fields

nfsd4: purge stable client records with insufficient state

To escape having your stable storage record purged at the end of the
grace period, it's not sufficient to simply have performed a
setclientid_confirm; you also need to meet the same requirements as
someone creating a new record: either you should have done an open or
open reclaim (in the 4.0 case) or a reclaim_complete (in the 4.1 case).
Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent 1255a8f3
...@@ -4415,7 +4415,9 @@ nfs4_has_reclaimed_state(const char *name, bool use_exchange_id) ...@@ -4415,7 +4415,9 @@ nfs4_has_reclaimed_state(const char *name, bool use_exchange_id)
struct nfs4_client *clp; struct nfs4_client *clp;
clp = find_confirmed_client_by_str(name, strhashval); clp = find_confirmed_client_by_str(name, strhashval);
return clp ? 1 : 0; if (!clp)
return 0;
return clp->cl_firststate;
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment