From 6002a93be84431b39f5c61cf4862e7084d1c6d97 Mon Sep 17 00:00:00 2001 From: Sergey Vlasov Date: Sun, 28 Nov 2010 21:04:05 +0000 Subject: [PATCH] --- yaml --- r: 223051 b: refs/heads/master c: 21ac19d484a8ffb66f64487846c8d53afef04d2b h: refs/heads/master i: 223049: cdae237bf5b0714ad932102473bf00e41a4c0d9a 223047: fd156af8167668cacac8abaa0c0cdc6c411ba667 v: v3 --- [refs] | 2 +- trunk/fs/nfs/file.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) 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;