Re: [PATCH] cifs: fix cifs stable patch cifs-fix-oplock-break-handling-try-2.patch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux