瀏覽代碼

nfsd4: simplify lock openmode check

Note that the special handling for the lock stateid case is already done
by nfs4_check_openmode() (as of 02921914170e3b7fea1cd82dac9713685d2de5e2
"nfsd4: fix openmode checking on IO using lock stateid") so we no longer
need these two cases in the caller.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
J. Bruce Fields 14 年之前
父節點
當前提交
9afb978400
共有 1 個文件被更改,包括 5 次插入10 次删除
  1. 5 10
      fs/nfsd/nfs4state.c

+ 5 - 10
fs/nfsd/nfs4state.c

@@ -3453,16 +3453,11 @@ nfs4_preprocess_seqid_op(struct nfsd4_compound_state *cstate, u32 seqid,
 			if (!nfsd4_has_session(cstate) &&
 			if (!nfsd4_has_session(cstate) &&
 			    !same_clid(&clp->cl_clientid, lockclid))
 			    !same_clid(&clp->cl_clientid, lockclid))
 				return nfserr_bad_stateid;
 				return nfserr_bad_stateid;
-			/* stp is the open stateid */
-			status = nfs4_check_openmode(stp, lkflg);
-			if (status)
-				return status;
-		} else {
-			/* stp is the lock stateid */
-			status = nfs4_check_openmode(stp->st_openstp, lkflg);
-			if (status)
-				return status;
-               }
+		}
+		/* stp is the open stateid */
+		status = nfs4_check_openmode(stp, lkflg);
+		if (status)
+			return status;
 	}
 	}
 
 
 	if (nfs4_check_fh(current_fh, stp)) {
 	if (nfs4_check_fh(current_fh, stp)) {