diff --git a/[refs] b/[refs] index 21ce655df441..a53cb8c43eef 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 63db46328a9854d0adcde69871a28d94e0fc7746 +refs/heads/master: ad72aae5ada1970f423ae7ee0027d0d7eb477597 diff --git a/trunk/fs/nfsd/nfs4state.c b/trunk/fs/nfsd/nfs4state.c index dd4c6d36534b..f62ab7624b1f 100644 --- a/trunk/fs/nfsd/nfs4state.c +++ b/trunk/fs/nfsd/nfs4state.c @@ -2212,15 +2212,10 @@ nfsd4_setclientid(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, if (new == NULL) goto out; copy_clid(new, conf); - } else if (!unconf) { - /* case 2: probable client reboot: */ - new = create_client(clname, dname, rqstp, &clverifier); - if (new == NULL) - goto out; - gen_clid(new); - } else { - /* case 3: probable client reboot: */ - expire_client(unconf); + } else { /* conf && !same_verf(): */ + /* cases 2, 3: probable client reboot: */ + if (unconf) + expire_client(unconf); new = create_client(clname, dname, rqstp, &clverifier); if (new == NULL) goto out;