From 4708ad6374f07cdfb379c5d4100125e2cfd339d9 Mon Sep 17 00:00:00 2001 From: Suresh Jayaraman Date: Fri, 2 Dec 2011 16:24:56 +0530 Subject: 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 --- fs/cifs/misc.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'fs') 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 " -- cgit v1.2.3