nfsd4: clarify that renewing expired client is a bug
This can't happen: - cl_time is zeroed only by unhash_client_locked, which is only ever called under both the state lock and the client lock. - every caller of renew_client() should have looked up a (non-expired) client and then called renew_client() all without dropping the state lock. - the only other caller of renew_client_locked() is release_session_client(), which first checks under the client_lock that the cl_time is nonzero. So make it clear that this is a bug, not something we handle. I can't quite bring myself to make this a BUG(), though, as there are a lot of renew_client() callers, and returning here is probably safer than a BUG(). We'll consider making it a BUG() after some more cleanup. Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
parent
90d700b779
commit
7447758be7
1 changed files with 2 additions and 1 deletions
|
@ -1022,7 +1022,8 @@ static inline void
|
|||
renew_client_locked(struct nfs4_client *clp)
|
||||
{
|
||||
if (is_client_expired(clp)) {
|
||||
dprintk("%s: client (clientid %08x/%08x) already expired\n",
|
||||
WARN_ON(1);
|
||||
printk("%s: client (clientid %08x/%08x) already expired\n",
|
||||
__func__,
|
||||
clp->cl_clientid.cl_boot,
|
||||
clp->cl_clientid.cl_id);
|
||||
|
|
Loading…
Reference in a new issue