OSDN Git Service

nfs4: always reset notified flag to false before repolling for lock
authorJeff Layton <jlayton@redhat.com>
Sun, 18 Mar 2018 12:37:01 +0000 (08:37 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Tue, 10 Apr 2018 20:06:22 +0000 (16:06 -0400)
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>
fs/nfs/nfs4proc.c

index 47f3c27..5ab2845 100644 (file)
@@ -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;