diff --git a/[refs] b/[refs] index b14e392144e0..dc5956c83753 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 08a22b392a141c201d7ed4d435de942aa853acd3 +refs/heads/master: 21ac19d484a8ffb66f64487846c8d53afef04d2b diff --git a/trunk/fs/nfs/file.c b/trunk/fs/nfs/file.c index 60677f9f1311..7bf029ef4084 100644 --- a/trunk/fs/nfs/file.c +++ b/trunk/fs/nfs/file.c @@ -693,6 +693,7 @@ do_getlk(struct file *filp, int cmd, struct file_lock *fl, int is_local) { struct inode *inode = filp->f_mapping->host; int status = 0; + unsigned int saved_type = fl->fl_type; /* Try local locking first */ posix_test_lock(filp, fl); @@ -700,6 +701,7 @@ do_getlk(struct file *filp, int cmd, struct file_lock *fl, int is_local) /* found a conflict */ goto out; } + fl->fl_type = saved_type; if (nfs_have_delegation(inode, FMODE_READ)) goto out_noconflict;