Browse Source

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>
Jeff Layton 9 years ago
parent
commit
19e4c3477f
1 changed files with 4 additions and 2 deletions
  1. 4 2
      fs/nfsd/nfs4state.c

+ 4 - 2
fs/nfsd/nfs4state.c

@@ -4490,9 +4490,11 @@ out:
 	* To finish the open response, we just need to set the rflags.
 	* To finish the open response, we just need to set the rflags.
 	*/
 	*/
 	open->op_rflags = NFS4_OPEN_RESULT_LOCKTYPE_POSIX;
 	open->op_rflags = NFS4_OPEN_RESULT_LOCKTYPE_POSIX;
-	if (!(open->op_openowner->oo_flags & NFS4_OO_CONFIRMED) &&
-	    !nfsd4_has_session(&resp->cstate))
+	if (nfsd4_has_session(&resp->cstate))
+		open->op_rflags |= NFS4_OPEN_RESULT_MAY_NOTIFY_LOCK;
+	else if (!(open->op_openowner->oo_flags & NFS4_OO_CONFIRMED))
 		open->op_rflags |= NFS4_OPEN_RESULT_CONFIRM;
 		open->op_rflags |= NFS4_OPEN_RESULT_CONFIRM;
+
 	if (dp)
 	if (dp)
 		nfs4_put_stid(&dp->dl_stid);
 		nfs4_put_stid(&dp->dl_stid);
 	if (stp)
 	if (stp)