From: Suresh Jayaraman Date: Fri, 2 Dec 2011 10:54:56 +0000 (+0530) Subject: cifs: fix cifs stable patch cifs-fix-oplock-break-handling-try-2.patch X-Git-Tag: v2.6.32.50~7 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=4708ad6374f07cdfb379c5d4100125e2cfd339d9;p=linux-pvops.git 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 Signed-off-by: Pavel Shilovsky Signed-off-by: Suresh Jayaraman Signed-off-by: Greg Kroah-Hartman --- 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 "