All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] cifs: fix cifs stable patch cifs-fix-oplock-break-handling-try-2.patch
@ 2011-12-02  5:38 Suresh Jayaraman
       [not found] ` <4ED86453.2040007-IBi9RG/b67k@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Suresh Jayaraman @ 2011-12-02  5:38 UTC (permalink / raw)
  To: stable-DgEjT+Ai2ygdnm+yROfE0A, Greg KH
  Cc: Pavel Shilovsky, Steve French, linux-cifs

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-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: Pavel Shilovsky <piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
Signed-off-by: Suresh Jayaraman <sjayaraman-IBi9RG/b67k@public.gmane.org>
---
[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)
+					pCifsInode->clientCanCacheRead = true;
+
 				rc = slow_work_enqueue(&netfile->oplock_break);
 				if (rc) {
 					cERROR(1, ("failed to enqueue oplock "

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] cifs: fix cifs stable patch cifs-fix-oplock-break-handling-try-2.patch
       [not found] ` <4ED86453.2040007-IBi9RG/b67k@public.gmane.org>
@ 2011-12-02  7:08   ` Pavel Shilovsky
       [not found]     ` <CAKywueSx7efJWX7N8v+KVxRfAsgdFyMx6rc2F7+izpsC-Hcrbg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Pavel Shilovsky @ 2011-12-02  7:08 UTC (permalink / raw)
  To: Suresh Jayaraman
  Cc: stable-DgEjT+Ai2ygdnm+yROfE0A, Greg KH, Steve French, linux-cifs

2011/12/2 Suresh Jayaraman <sjayaraman-IBi9RG/b67k@public.gmane.org>:
> 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-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
> Cc: Pavel Shilovsky <piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
> Signed-off-by: Suresh Jayaraman <sjayaraman-IBi9RG/b67k@public.gmane.org>
> ---
> [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;
> +
>                                rc = slow_work_enqueue(&netfile->oplock_break);
>                                if (rc) {
>                                        cERROR(1, ("failed to enqueue oplock "



-- 
Best regards,
Pavel Shilovsky.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] cifs: fix cifs stable patch cifs-fix-oplock-break-handling-try-2.patch
       [not found]     ` <CAKywueSx7efJWX7N8v+KVxRfAsgdFyMx6rc2F7+izpsC-Hcrbg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2011-12-02  7:20       ` Suresh Jayaraman
       [not found]         ` <4ED87C50.6010507-IBi9RG/b67k@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Suresh Jayaraman @ 2011-12-02  7:20 UTC (permalink / raw)
  To: Pavel Shilovsky
  Cc: stable-DgEjT+Ai2ygdnm+yROfE0A, Greg KH, Steve French, linux-cifs

On 12/02/2011 12:38 PM, Pavel Shilovsky wrote:
> 2011/12/2 Suresh Jayaraman <sjayaraman-IBi9RG/b67k@public.gmane.org>:
>> 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-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
>> Cc: Pavel Shilovsky <piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
>> Signed-off-by: Suresh Jayaraman <sjayaraman-IBi9RG/b67k@public.gmane.org>
>> ---
>> [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?


Suresh

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] cifs: fix cifs stable patch cifs-fix-oplock-break-handling-try-2.patch
       [not found]         ` <4ED87C50.6010507-IBi9RG/b67k@public.gmane.org>
@ 2011-12-02  9:05           ` Pavel Shilovsky
       [not found]             ` <CAKywueSU2qMuQEFJ573i4cR_a1L_n9=2eH_7f8yvaqUWDXwB_Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Pavel Shilovsky @ 2011-12-02  9:05 UTC (permalink / raw)
  To: Suresh Jayaraman
  Cc: stable-DgEjT+Ai2ygdnm+yROfE0A, Greg KH, Steve French, linux-cifs

2011/12/2 Suresh Jayaraman <sjayaraman-IBi9RG/b67k@public.gmane.org>:
> On 12/02/2011 12:38 PM, Pavel Shilovsky wrote:
>> 2011/12/2 Suresh Jayaraman <sjayaraman-IBi9RG/b67k@public.gmane.org>:
>>> 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-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
>>> Cc: Pavel Shilovsky <piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
>>> Signed-off-by: Suresh Jayaraman <sjayaraman-IBi9RG/b67k@public.gmane.org>
>>> ---
>>> [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.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] cifs: fix cifs stable patch cifs-fix-oplock-break-handling-try-2.patch
       [not found]             ` <CAKywueSU2qMuQEFJ573i4cR_a1L_n9=2eH_7f8yvaqUWDXwB_Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2011-12-02 10:54               ` Suresh Jayaraman
       [not found]                 ` <4ED8AE80.7030008-IBi9RG/b67k@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Suresh Jayaraman @ 2011-12-02 10:54 UTC (permalink / raw)
  To: stable-DgEjT+Ai2ygdnm+yROfE0A, Greg KH
  Cc: Pavel Shilovsky, Steve French, linux-cifs

On 12/02/2011 02:35 PM, Pavel Shilovsky wrote:
> 2011/12/2 Suresh Jayaraman <sjayaraman-IBi9RG/b67k@public.gmane.org>:
>>>>  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)
> 

Ok thanks. Here's the updated patch. Greg, could you please consider this
patch for next 2.6.32.y

From: Suresh Jayaraman <sjayaraman-IBi9RG/b67k@public.gmane.org>

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-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Signed-off-by: Pavel Shilovsky <piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
Signed-off-by: Suresh Jayaraman <sjayaraman-IBi9RG/b67k@public.gmane.org>
---
 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..95b82e8 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 "

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Patch "cifs: fix cifs stable patch cifs-fix-oplock-break-handling-try-2.patch" has been added to the 2.6.32-longterm tree
       [not found]                 ` <4ED8AE80.7030008-IBi9RG/b67k@public.gmane.org>
@ 2011-12-05 21:40                   ` gregkh-l3A5Bk7waGM
  0 siblings, 0 replies; 6+ messages in thread
From: gregkh-l3A5Bk7waGM @ 2011-12-05 21:40 UTC (permalink / raw)
  To: sjayaraman-IBi9RG/b67k, gregkh-l3A5Bk7waGM,
	linux-cifs-u79uwXL29TY76Z2rM5mHXA, piastry-7qunaywFIewox3rIn2DAYQ,
	piastryyy-Re5JQEeQqe8AvxtiuMwx3w, sfrench-r/Jw6+rmf7HQT0dZR+AlfA,
	smfrench-Re5JQEeQqe8AvxtiuMwx3w
  Cc: stable-u79uwXL29TY76Z2rM5mHXA,
	stable-commits-u79uwXL29TY76Z2rM5mHXA


This is a note to let you know that I've just added the patch titled

    cifs: fix cifs stable patch cifs-fix-oplock-break-handling-try-2.patch

to the 2.6.32-longterm tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/longterm/longterm-queue-2.6.32.git;a=summary

The filename of the patch is:
     cifs-fix-cifs-stable-patch-cifs-fix-oplock-break-handling-try-2.patch.patch
and it can be found in the queue-2.6.32 subdirectory.

If you, or anyone else, feels it should not be added to the 2.6.32 longterm tree,
please let <stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org> know about it.


>From sjayaraman-IBi9RG/b67k@public.gmane.org  Mon Dec  5 13:33:36 2011
From: Suresh Jayaraman <sjayaraman-IBi9RG/b67k@public.gmane.org>
Date: Fri, 02 Dec 2011 16:24:56 +0530
Subject: cifs: fix cifs stable patch cifs-fix-oplock-break-handling-try-2.patch
To: stable-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, Greg KH <gregkh-l3A5Bk7waGM@public.gmane.org>
Cc: Pavel Shilovsky <piastryyy-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,  Steve French <smfrench-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>, linux-cifs <linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Message-ID: <4ED8AE80.7030008-IBi9RG/b67k@public.gmane.org>

From: Suresh Jayaraman <sjayaraman-IBi9RG/b67k@public.gmane.org>

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-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Signed-off-by: Pavel Shilovsky <piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
Signed-off-by: Suresh Jayaraman <sjayaraman-IBi9RG/b67k@public.gmane.org>
Signed-off-by: Greg Kroah-Hartman <gregkh-l3A5Bk7waGM@public.gmane.org>

---
 fs/cifs/misc.c |    3 +++
 1 file changed, 3 insertions(+)

--- a/fs/cifs/misc.c
+++ b/fs/cifs/misc.c
@@ -584,6 +584,9 @@ is_valid_oplock_break(struct smb_hdr *bu
 				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 "


Patches currently in longterm-queue-2.6.32 which might be from sjayaraman-IBi9RG/b67k@public.gmane.org are

/home/gregkh/linux/longterm/longterm-queue-2.6.32/queue-2.6.32/cifs-fix-cifs-stable-patch-cifs-fix-oplock-break-handling-try-2.patch.patch

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-12-05 21:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-02  5:38 [PATCH] cifs: fix cifs stable patch cifs-fix-oplock-break-handling-try-2.patch Suresh Jayaraman
     [not found] ` <4ED86453.2040007-IBi9RG/b67k@public.gmane.org>
2011-12-02  7:08   ` Pavel Shilovsky
     [not found]     ` <CAKywueSx7efJWX7N8v+KVxRfAsgdFyMx6rc2F7+izpsC-Hcrbg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-12-02  7:20       ` Suresh Jayaraman
     [not found]         ` <4ED87C50.6010507-IBi9RG/b67k@public.gmane.org>
2011-12-02  9:05           ` Pavel Shilovsky
     [not found]             ` <CAKywueSU2qMuQEFJ573i4cR_a1L_n9=2eH_7f8yvaqUWDXwB_Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-12-02 10:54               ` Suresh Jayaraman
     [not found]                 ` <4ED8AE80.7030008-IBi9RG/b67k@public.gmane.org>
2011-12-05 21:40                   ` Patch "cifs: fix cifs stable patch cifs-fix-oplock-break-handling-try-2.patch" has been added to the 2.6.32-longterm tree gregkh-l3A5Bk7waGM

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.