diff options
author | Jeff Layton <jlayton@redhat.com> | 2018-03-18 15:37:01 +0300 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2018-04-10 23:06:22 +0300 |
commit | 41a74620185e2c7666c0fc4bfd7ff2f21fd0cb13 (patch) | |
tree | 10f2a92390ebe47d5912556eb10ae944e043c9a9 /fs/nfs | |
parent | a25a4cb3af177a4cf5621ffbf4fa89ae60c6d4d7 (diff) | |
download | linux-41a74620185e2c7666c0fc4bfd7ff2f21fd0cb13.tar.xz |
nfs4: always reset notified flag to false before repolling for lock
We may get a notification and lose the race to another client. Ensure
that we wait again for a notification in that case.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r-- | fs/nfs/nfs4proc.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 47f3c273245e..5ab28454f117 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -6673,6 +6673,7 @@ nfs4_retry_setlk(struct nfs4_state *state, int cmd, struct file_lock *request) add_wait_queue(q, &wait); while(!signalled()) { + waiter.notified = false; status = nfs4_proc_setlk(state, cmd, request); if ((status != -EAGAIN) || IS_SETLK(cmd)) break; |