diff options
Diffstat (limited to 'fs/nfsd/nfs4proc.c')
| -rw-r--r-- | fs/nfsd/nfs4proc.c | 18 | 
1 files changed, 10 insertions, 8 deletions
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index 987e719fbae..c9c1c0a2541 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -354,10 +354,10 @@ nfsd4_open(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,  	/* Openowner is now set, so sequence id will get bumped.  Now we need  	 * these checks before we do any creates: */  	status = nfserr_grace; -	if (locks_in_grace() && open->op_claim_type != NFS4_OPEN_CLAIM_PREVIOUS) +	if (locks_in_grace(SVC_NET(rqstp)) && open->op_claim_type != NFS4_OPEN_CLAIM_PREVIOUS)  		goto out;  	status = nfserr_no_grace; -	if (!locks_in_grace() && open->op_claim_type == NFS4_OPEN_CLAIM_PREVIOUS) +	if (!locks_in_grace(SVC_NET(rqstp)) && open->op_claim_type == NFS4_OPEN_CLAIM_PREVIOUS)  		goto out;  	switch (open->op_claim_type) { @@ -686,7 +686,8 @@ nfsd4_read(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,  	nfs4_lock_state();  	/* check stateid */ -	if ((status = nfs4_preprocess_stateid_op(cstate, &read->rd_stateid, +	if ((status = nfs4_preprocess_stateid_op(SVC_NET(rqstp), +						 cstate, &read->rd_stateid,  						 RD_STATE, &read->rd_filp))) {  		dprintk("NFSD: nfsd4_read: couldn't process stateid!\n");  		goto out; @@ -741,7 +742,7 @@ nfsd4_remove(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,  {  	__be32 status; -	if (locks_in_grace()) +	if (locks_in_grace(SVC_NET(rqstp)))  		return nfserr_grace;  	status = nfsd_unlink(rqstp, &cstate->current_fh, 0,  			     remove->rm_name, remove->rm_namelen); @@ -760,8 +761,8 @@ nfsd4_rename(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,  	if (!cstate->save_fh.fh_dentry)  		return status; -	if (locks_in_grace() && !(cstate->save_fh.fh_export->ex_flags -					& NFSEXP_NOSUBTREECHECK)) +	if (locks_in_grace(SVC_NET(rqstp)) && +		!(cstate->save_fh.fh_export->ex_flags & NFSEXP_NOSUBTREECHECK))  		return nfserr_grace;  	status = nfsd_rename(rqstp, &cstate->save_fh, rename->rn_sname,  			     rename->rn_snamelen, &cstate->current_fh, @@ -845,7 +846,7 @@ nfsd4_setattr(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,  	if (setattr->sa_iattr.ia_valid & ATTR_SIZE) {  		nfs4_lock_state(); -		status = nfs4_preprocess_stateid_op(cstate, +		status = nfs4_preprocess_stateid_op(SVC_NET(rqstp), cstate,  			&setattr->sa_stateid, WR_STATE, NULL);  		nfs4_unlock_state();  		if (status) { @@ -890,7 +891,8 @@ nfsd4_write(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,  		return nfserr_inval;  	nfs4_lock_state(); -	status = nfs4_preprocess_stateid_op(cstate, stateid, WR_STATE, &filp); +	status = nfs4_preprocess_stateid_op(SVC_NET(rqstp), +					cstate, stateid, WR_STATE, &filp);  	if (filp)  		get_file(filp);  	nfs4_unlock_state();  |