diff options
author | Jeff Layton <jlayton@redhat.com> | 2016-09-16 16:28:27 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2016-09-26 15:20:37 -0400 |
commit | 19e4c3477f70843930b328be3bcd16bd17993911 (patch) | |
tree | fb9e262b86701bfe54ef22875e652a2b3c6e7292 | |
parent | b4c8eb0379c8d3300a54210edd2235fd1e81a8a6 (diff) |
nfsd: set the MAY_NOTIFY_LOCK flag in OPEN replies
If we are using v4.1+, then we can send notification when contended
locks become free. Inform the client of that fact.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
-rw-r--r-- | fs/nfsd/nfs4state.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 6c74d9a45163..4062f4fbfc6d 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c | |||
@@ -4490,9 +4490,11 @@ out: | |||
4490 | * To finish the open response, we just need to set the rflags. | 4490 | * To finish the open response, we just need to set the rflags. |
4491 | */ | 4491 | */ |
4492 | open->op_rflags = NFS4_OPEN_RESULT_LOCKTYPE_POSIX; | 4492 | open->op_rflags = NFS4_OPEN_RESULT_LOCKTYPE_POSIX; |
4493 | if (!(open->op_openowner->oo_flags & NFS4_OO_CONFIRMED) && | 4493 | if (nfsd4_has_session(&resp->cstate)) |
4494 | !nfsd4_has_session(&resp->cstate)) | 4494 | open->op_rflags |= NFS4_OPEN_RESULT_MAY_NOTIFY_LOCK; |
4495 | else if (!(open->op_openowner->oo_flags & NFS4_OO_CONFIRMED)) | ||
4495 | open->op_rflags |= NFS4_OPEN_RESULT_CONFIRM; | 4496 | open->op_rflags |= NFS4_OPEN_RESULT_CONFIRM; |
4497 | |||
4496 | if (dp) | 4498 | if (dp) |
4497 | nfs4_put_stid(&dp->dl_stid); | 4499 | nfs4_put_stid(&dp->dl_stid); |
4498 | if (stp) | 4500 | if (stp) |