2011/12/2 Suresh Jayaraman <sjayaraman@xxxxxxxx>: > On 12/02/2011 12:38 PM, Pavel Shilovsky wrote: >> 2011/12/2 Suresh Jayaraman <sjayaraman@xxxxxxxx>: >>> 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@xxxxxxxxxx> >>> Cc: Pavel Shilovsky <piastry@xxxxxxxxxxx> >>> Signed-off-by: Suresh Jayaraman <sjayaraman@xxxxxxxx> >>> --- >>> [PS. not very happy about the subject line and changelog. >>> Feel free to modify as you see fit.] >>> >>> fs/cifs/misc.c | 3 +++ >>> 1 files changed, 3 insertions(+), 0 deletions(-) >>> >>> diff --git a/fs/cifs/misc.c b/fs/cifs/misc.c >>> index d27d4ec..7055827 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 == OPLOCK_READ) >> pSMB->OplockLevel can either be 0 or 1 here but OPLOCK_READ is 3 - >> this should be: >> "else if (pSMB->OplockLevel)" >> >>> + pCifsInode->clientCanCacheRead = true; >>> + > > Hmm.. if OplockLevel is OPLOCK_EXCLUSIVE, the we should set both > clientCanCacheAll and clientCanCacheRead, no? OplockLevel field in the oplock break request (SMB_COM_LOCKING_ANDX command) can be: 0 - oplock downgrades to None 1 - oplock downgrades to READ. (see http://msdn.microsoft.com/en-us/library/ee442004(v=PROT.13).aspx for further details) -- Best regards, Pavel Shilovsky. -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html