Loading fs/nfsd/nfs4state.c +14 −5 Original line number Original line Diff line number Diff line Loading @@ -1818,6 +1818,8 @@ nfsd4_sequence(struct svc_rqst *rqstp, __be32 __be32 nfsd4_reclaim_complete(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd4_reclaim_complete *rc) nfsd4_reclaim_complete(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd4_reclaim_complete *rc) { { int status = 0; if (rc->rca_one_fs) { if (rc->rca_one_fs) { if (!cstate->current_fh.fh_dentry) if (!cstate->current_fh.fh_dentry) return nfserr_nofilehandle; return nfserr_nofilehandle; Loading @@ -1827,9 +1829,14 @@ nfsd4_reclaim_complete(struct svc_rqst *rqstp, struct nfsd4_compound_state *csta */ */ return nfs_ok; return nfs_ok; } } nfs4_lock_state(); nfs4_lock_state(); if (is_client_expired(cstate->session->se_client)) { status = nfserr_complete_already; nfs4_unlock_state(); if (cstate->session->se_client->cl_firststate) goto out; status = nfserr_stale_clientid; if (is_client_expired(cstate->session->se_client)) /* /* * The following error isn't really legal. * The following error isn't really legal. * But we only get here if the client just explicitly * But we only get here if the client just explicitly Loading @@ -1837,11 +1844,13 @@ nfsd4_reclaim_complete(struct svc_rqst *rqstp, struct nfsd4_compound_state *csta * error it gets back on an operation for the dead * error it gets back on an operation for the dead * client. * client. */ */ return nfserr_stale_clientid; goto out; } status = nfs_ok; nfsd4_create_clid_dir(cstate->session->se_client); nfsd4_create_clid_dir(cstate->session->se_client); out: nfs4_unlock_state(); nfs4_unlock_state(); return nfs_ok; return status; } } __be32 __be32 Loading Loading
fs/nfsd/nfs4state.c +14 −5 Original line number Original line Diff line number Diff line Loading @@ -1818,6 +1818,8 @@ nfsd4_sequence(struct svc_rqst *rqstp, __be32 __be32 nfsd4_reclaim_complete(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd4_reclaim_complete *rc) nfsd4_reclaim_complete(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd4_reclaim_complete *rc) { { int status = 0; if (rc->rca_one_fs) { if (rc->rca_one_fs) { if (!cstate->current_fh.fh_dentry) if (!cstate->current_fh.fh_dentry) return nfserr_nofilehandle; return nfserr_nofilehandle; Loading @@ -1827,9 +1829,14 @@ nfsd4_reclaim_complete(struct svc_rqst *rqstp, struct nfsd4_compound_state *csta */ */ return nfs_ok; return nfs_ok; } } nfs4_lock_state(); nfs4_lock_state(); if (is_client_expired(cstate->session->se_client)) { status = nfserr_complete_already; nfs4_unlock_state(); if (cstate->session->se_client->cl_firststate) goto out; status = nfserr_stale_clientid; if (is_client_expired(cstate->session->se_client)) /* /* * The following error isn't really legal. * The following error isn't really legal. * But we only get here if the client just explicitly * But we only get here if the client just explicitly Loading @@ -1837,11 +1844,13 @@ nfsd4_reclaim_complete(struct svc_rqst *rqstp, struct nfsd4_compound_state *csta * error it gets back on an operation for the dead * error it gets back on an operation for the dead * client. * client. */ */ return nfserr_stale_clientid; goto out; } status = nfs_ok; nfsd4_create_clid_dir(cstate->session->se_client); nfsd4_create_clid_dir(cstate->session->se_client); out: nfs4_unlock_state(); nfs4_unlock_state(); return nfs_ok; return status; } } __be32 __be32 Loading