Bug 36952

Summary: [2.6.39] CIFS write failures where 2.6.38 works
Product: File System Reporter: Maciej Rutecki (maciej.rutecki)
Component: CIFSAssignee: Jeff Layton (jlayton)
Status: CLOSED CODE_FIX    
Severity: normal CC: jlayton, kirr, lxnay, maciej.rutecki, martin.karas, rjw
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.39 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 32012    
Attachments: dmesg log when failing to copy a file to the server

Description Maciej Rutecki 2011-06-08 19:33:47 UTC
Subject    : [2.6.39] CIFS write failures where 2.6.38 works
Submitter  : Helge Hafting <helge.hafting@hist.no>
Date       : 2011-06-01 10:11
Message-ID : 4DE6103E.6010100@hist.no
References : http://marc.info/?l=linux-kernel&m=130692387613423&w=2

This entry is being used for tracking a regression from 2.6.38. Please don't
close it until the problem is fixed in the mainline.
Comment 2 Jeff Layton 2011-06-09 22:23:59 UTC
I highly doubt it. All that does is silence a printk when signatures are enabled. I think we need to understand more of what's happening on the wire, but we haven't heard from the reporter of this bug in a while...
Comment 3 Fabio Erculiani 2011-06-10 05:59:10 UTC
Looking at that function and the patch, it seems that it is doing a little bit more than just avoiding a printk. Hence my mumbling..
Comment 4 Fabio Erculiani 2011-06-11 09:20:41 UTC
I confirm that the given patch (at comment #1) doesn't fix the issue. As expected, actually.
Comment 5 Fabio Erculiani 2011-06-11 09:22:04 UTC
Forgot to say, I have one of our developers with the same issue, I'll ask him to collect some debug info.
Comment 6 Jeff Layton 2011-06-22 20:22:17 UTC
I suspect that this may be an issue with signed connections. If you mount with a smaller wsize, say wsize=16384 or so, does this problem go away?
Comment 7 Jeff Layton 2011-06-22 20:27:25 UTC
If so, then this should be fixed for 3.0 once stevef merges this patch into mainline:

http://article.gmane.org/gmane.linux.kernel.cifs/3595

...for stable, we'll have to do something different as the wsize negotiation there is still a mess.
Comment 8 Helge Hafting 2011-06-23 12:30:32 UTC
Created attachment 63332 [details]
dmesg log when failing to copy a file to the server

Mounted a share (without the wsize workaround), tried to copy a file. "cp" got stuck, so I terminated it with ctrl+C after some time. The file was created, but had zero size.
Comment 9 Jeff Layton 2011-06-23 13:08:34 UTC
Yep, this is the error we seem to get from win2k8 (and probably other windows versions) in this situation:

    [ 1994.961605] Status code returned 0xc0000022 NT_STATUS_ACCESS_DENIED

Usually, we can send a larger write to the server than its MaxBufSize if the server has set the CAP_LARGE_WRITE_X during the protocol negotiation. If signing is enabled though, we can't but the server doesn't clear that bit. The client however has never respected that.

Prior to 2.6.39, that wasn't really an issue since we never sent a write that large when signing was enabled. Now however we do and that's why this is broken. I'll do a patch that will make the client negotiate the wsize downward automatically under these conditions and submit it for stable inclusion.
Comment 10 Rafael J. Wysocki 2011-07-10 20:21:33 UTC
On Sunday, July 10, 2011, Jeff Layton wrote:
> On Sun, 10 Jul 2011 14:58:54 +0300
> Pekka Enberg <penberg@kernel.org> wrote:
> 
> > On Sun, Jul 10, 2011 at 1:58 PM, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> > > This message has been generated automatically as a part of a report
> > > of regressions introduced between 2.6.38 and 2.6.39.
> > >
> > > The following bug entry is on the current list of known regressions
> > > introduced between 2.6.38 and 2.6.39.  Please verify if it still should
> > > be listed and let the tracking team know (either way).
> > >
> > > Bug-Entry       : http://bugzilla.kernel.org/show_bug.cgi?id=36952
> > > Subject         : [2.6.39] CIFS write failures where 2.6.38 works
> > > Submitter       : Helge Hafting <helge.hafting@hist.no>
> > > Date            : 2011-06-01 10:11 (40 days old)
> > 
> > The last comment in Bugzilla states that Jeff was working on a patch.
> > Was it ever submitted to mainline and stable?
> > 
> >                                 Pekka
> 
> Yes, see commit 1190f6a067b in mainline. I also backported it for
> 2.6.39-stable and sent it to stable@kernel.org, but I haven't heard
> anything back on it yet (I'll resend if I don't hear anything in the
> next day or two).