summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSuresh Jayaraman <sjayaraman@suse.com>2011-12-02 16:24:56 +0530
committerGreg Kroah-Hartman <gregkh@suse.de>2011-12-09 09:21:48 -0800
commit4708ad6374f07cdfb379c5d4100125e2cfd339d9 (patch)
tree836d332410fefb866309f5edbf7a330ecf83d47e
parent30bed43b8963e34783ad597025e06e82f7e2a5ff (diff)
cifs: fix cifs stable patch cifs-fix-oplock-break-handling-try-2.patch
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>
-rw-r--r--fs/cifs/misc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/cifs/misc.c b/fs/cifs/misc.c
index d27d4ec6579b..95b82e8b57a4 100644
--- a/fs/cifs/misc.c
+++ b/fs/cifs/misc.c
@@ -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 "