locks: give posix_test_lock same interface as ->lock
posix_test_lock() and ->lock() do the same job but have gratuitously different interfaces. Modify posix_test_lock() so the two agree, simplifying some code in the process. Signed-off-by: Marc Eshel <eshel@almaden.ibm.com> Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
This commit is contained in:
committed by
J. Bruce Fields
parent
70cc6487a4
commit
9d6a8c5c21
@@ -2813,7 +2813,6 @@ nfsd4_lockt(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
|
||||
struct inode *inode;
|
||||
struct file file;
|
||||
struct file_lock file_lock;
|
||||
struct file_lock conflock;
|
||||
__be32 status;
|
||||
|
||||
if (nfs4_in_grace())
|
||||
@@ -2878,9 +2877,10 @@ nfsd4_lockt(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
|
||||
file.f_path.dentry = cstate->current_fh.fh_dentry;
|
||||
|
||||
status = nfs_ok;
|
||||
if (posix_test_lock(&file, &file_lock, &conflock)) {
|
||||
posix_test_lock(&file, &file_lock);
|
||||
if (file_lock.fl_type != F_UNLCK) {
|
||||
status = nfserr_denied;
|
||||
nfs4_set_lock_denied(&conflock, &lockt->lt_denied);
|
||||
nfs4_set_lock_denied(&file_lock, &lockt->lt_denied);
|
||||
}
|
||||
out:
|
||||
nfs4_unlock_state();
|
||||
|
Reference in New Issue
Block a user