Bug 36952 - [2.6.39] CIFS write failures where 2.6.38 works
Summary: [2.6.39] CIFS write failures where 2.6.38 works
Status: CLOSED CODE_FIX
Alias: None
Product: File System
Classification: Unclassified
Component: CIFS (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Jeff Layton
URL:
Keywords:
Depends on:
Blocks: 32012
  Show dependency tree
 
Reported: 2011-06-08 19:33 UTC by Maciej Rutecki
Modified: 2011-07-10 20:22 UTC (History)
6 users (show)

See Also:
Kernel Version: 2.6.39
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
dmesg log when failing to copy a file to the server (125.86 KB, application/octet-stream)
2011-06-23 12:30 UTC, Helge Hafting
Details

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).

Note You need to log in before you can comment on or make changes to this bug.