53 lines
1.6 KiB
Diff
53 lines
1.6 KiB
Diff
From: Trond Myklebust <Trond.Myklebust@netapp.com>
|
|
Date: Wed, 18 Apr 2012 12:20:10 -0400
|
|
Subject: [PATCH 1/2] NFSv4: Ensure that the LOCK code sets exception->inode
|
|
|
|
commit 05ffe24f5290dc095f98fbaf84afe51ef404ccc5 upstream.
|
|
|
|
All callers of nfs4_handle_exception() that need to handle
|
|
NFS4ERR_OPENMODE correctly should set exception->inode
|
|
|
|
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
|
Cc: stable@vger.kernel.org
|
|
---
|
|
fs/nfs/nfs4proc.c | 9 +++++++--
|
|
1 file changed, 7 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
|
|
index f82bde0..3c787d0 100644
|
|
--- a/fs/nfs/nfs4proc.c
|
|
+++ b/fs/nfs/nfs4proc.c
|
|
@@ -4558,7 +4558,9 @@ static int _nfs4_do_setlk(struct nfs4_state *state, int cmd, struct file_lock *f
|
|
static int nfs4_lock_reclaim(struct nfs4_state *state, struct file_lock *request)
|
|
{
|
|
struct nfs_server *server = NFS_SERVER(state->inode);
|
|
- struct nfs4_exception exception = { };
|
|
+ struct nfs4_exception exception = {
|
|
+ .inode = state->inode,
|
|
+ };
|
|
int err;
|
|
|
|
do {
|
|
@@ -4576,7 +4578,9 @@ static int nfs4_lock_reclaim(struct nfs4_state *state, struct file_lock *request
|
|
static int nfs4_lock_expired(struct nfs4_state *state, struct file_lock *request)
|
|
{
|
|
struct nfs_server *server = NFS_SERVER(state->inode);
|
|
- struct nfs4_exception exception = { };
|
|
+ struct nfs4_exception exception = {
|
|
+ .inode = state->inode,
|
|
+ };
|
|
int err;
|
|
|
|
err = nfs4_set_lock_state(state, request);
|
|
@@ -4676,6 +4680,7 @@ static int nfs4_proc_setlk(struct nfs4_state *state, int cmd, struct file_lock *
|
|
{
|
|
struct nfs4_exception exception = {
|
|
.state = state,
|
|
+ .inode = state->inode,
|
|
};
|
|
int err;
|
|
|
|
--
|
|
1.7.10
|
|
|