]> git.hungrycats.org Git - linux/commitdiff
cifs: fix cifs stable patch cifs-fix-oplock-break-handling-try-2.patch
authorSuresh Jayaraman <sjayaraman@suse.com>
Fri, 2 Dec 2011 10:54:56 +0000 (16:24 +0530)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Wed, 16 Jan 2013 21:44:55 +0000 (16:44 -0500)
commit 4708ad6374f07cdfb379c5d4100125e2cfd339d9 in v2.6.32.x stable

The stable release 2.6.32.32 added the upstream commit
12fed00de963433128b5366a21a55808fab2f756. However, one of the hunks of
the original patch seems missing from the stable backport which can be
found here:
   http://permalink.gmane.org/gmane.linux.kernel.stable/5676

This hunk corresponds to the change in is_valid_oplock_break() at
fs/cifs/misc.c.

This patch backports the missing hunk and is against
linux-2.6.32.y stable kernel.

Cc: Steve French <sfrench@us.ibm.com>
Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru>
Signed-off-by: Suresh Jayaraman <sjayaraman@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
[PG: I incorrectly dropped the same hunk in v2.6.34.9-152-g0c55f20
 since the code in question was relocated/rewritten in e66673e39a ]
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
fs/cifs/misc.c

index d1474996a8121d4f9eed2811fadb0b68ca0160e5..ec208e6e52750e87e5cbafdf2775f54362bbf631 100644 (file)
@@ -584,6 +584,9 @@ is_valid_oplock_break(struct smb_hdr *buf, struct TCP_Server_Info *srv)
                                pCifsInode->clientCanCacheAll = false;
                                if (pSMB->OplockLevel == 0)
                                        pCifsInode->clientCanCacheRead = false;
+                               else if (pSMB->OplockLevel)
+                                       pCifsInode->clientCanCacheRead = true;
+
                                rc = slow_work_enqueue(&netfile->oplock_break);
                                if (rc) {
                                        cERROR(1, ("failed to enqueue oplock "