disabling oplocks/leases via module parm enable_oplocks broken for SMB3
authorSteve French <smfrench@gmail.com>
Tue, 22 Sep 2015 14:29:38 +0000 (09:29 -0500)
committerSteve French <smfrench@gmail.com>
Tue, 22 Sep 2015 20:23:57 +0000 (15:23 -0500)
leases (oplocks) were always requested for SMB2/SMB3 even when oplocks
disabled in the cifs.ko module.

Signed-off-by: Steve French <steve.french@primarydata.com>
Reviewed-by: Chandrika Srinivasan <chandrika.srinivasan@citrix.com>
CC: Stable <stable@vger.kernel.org>
fs/cifs/smb2ops.c

index df91bcf..18da19f 100644 (file)
@@ -50,9 +50,13 @@ change_conf(struct TCP_Server_Info *server)
                break;
        default:
                server->echoes = true;
-               server->oplocks = true;
+               if (enable_oplocks) {
+                       server->oplocks = true;
+                       server->oplock_credits = 1;
+               } else
+                       server->oplocks = false;
+
                server->echo_credits = 1;
-               server->oplock_credits = 1;
        }
        server->credits -= server->echo_credits + server->oplock_credits;
        return 0;