All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konstantinos Skarlatos <k.skarlatos-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: cifs: ls of mount point gives input/output error (probably related to CIFS: getdents() broken for large dirs)
Date: Fri, 30 Dec 2011 23:46:24 +0200	[thread overview]
Message-ID: <4EFE3130.8030500@gmail.com> (raw)
In-Reply-To: <4EFDFC4E.30102-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 4067 bytes --]

On 30/12/2011 8:00 μμ, Konstantinos Skarlatos wrote:
> On 30/12/2011 3:11 μμ, Jeff Layton wrote:
>> On Fri, 30 Dec 2011 11:04:59 +0200
>> Konstantinos Skarlatos<k.skarlatos-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>  wrote:
>>
>>> On 29/12/2011 3:54 μμ, Konstantinos Skarlatos wrote:
>>>> On Πέμπτη, 29 Δεκέμβριος 2011 3:39:30 μμ, Jeff Layton wrote:
>>>>> On Thu, 29 Dec 2011 12:30:18 +0200
>>>>> Konstantinos Skarlatos<k.skarlatos-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>   wrote:
>>>>>
>>>>>> On 29/12/2011 4:04 πμ, Jeff Layton wrote:
>>>>>>> On Thu, 29 Dec 2011 02:08:57 +0200
>>>>>>> Konstantinos Skarlatos<k.skarlatos-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>    wrote:
>>>>>>>
>>>>>>>> I mount via cifs a windows XP share, df gives me correct sizes,
>>>>>>>> but when
>>>>>>>> I ls the mount point i get input/output error.
>>>>>>>> strace: http://pastebin.com/WXf8M1nu
>>>>>>>>
>>>>>>>> mount --verbose -t cifs -o 
>>>>>>>> username=administrator,password=blahblah
>>>>>>>> //192.168.0.11/jobs /mnt/backups/montaz/jobs
>>>>>>>> mount.cifs kernel mount options:
>>>>>>>> ip=192.168.0.11,unc=\\192.168.0.11\jobs,,ver=1,user=administrator,pass=******** 
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> df
>>>>>>>> //192.168.0.11/jobs                                       114464
>>>>>>>> 105196      9268  92% /mnt/backups/montaz/jobs
>>>>>>>>
>>>>>>>> ls /mnt/backups/montaz/jobs/
>>>>>>>> ls: reading directory /mnt/backups/montaz/jobs/: Input/output 
>>>>>>>> error
>>>>>>>> total 0
>>>>>>>>
>>>>>>>> the fun thing is that i can cd to a lower level directory, and ls
>>>>>>>> works
>>>>>>>> fine there! only the mount point has the problem
>>>>>>>>
>>>>>>>> ls /mnt/backups/montaz/jobs/test
>>>>>>>> total 44K
>>>>>>>> drwxr-xr-x 1 root root    0 Apr 30  2010 blah blah/
>>>>>>>> ......
>>>>>>>>
>>>>>>>> kernel version 3.2rc7
>>>>>>>>
>>>>>>>> this seems to be related to :
>>>>>>>> https://lkml.org/lkml/2011/8/1/427
>>>>>>>> Re: [3.0.0+][Regression][Bisected] CIFS: getdents() broken for
>>>>>>>> large dirs
>>>>>>>>
>>>>>>> Hmmm, maybe. What makes you think that it's related? What sort of
>>>>>>> server are you seeing this against?
>>>>>> Windows XP service pack 2 (greek)
>>>>>
>>>>> How many files are in the directory?
>>>>>
>>>> 140 folders and 20 files
>>>>
>>> Attached is a tcp dump of my session.
>> I tried reproducing this here, but wasn't able to. Testing against my
>> xp box worked fine.
>>
>> Most likely, the FIND_FILE responses are falling afoul of the code in
>> coalesce_t2 or check2ndT2. Unfortunately that code is pretty
>> complicated and I'm not certain what the problem actually is...
>>
>> One thing that's interesting is that the total data being sent in the
>> request is rather large (16336 bytes). I think that's legit, but maybe
>> it's exceeding the end of the buffer once we try to coalesce it.
>>
>> Would it be possible to get the cFYI output from this test?
> I did not get a cFYI output from that test, but i redid a 
> mount-ls-umount and am attaching the tcpdump
> Also here http://pastebin.com/J20uC6kU you can find the cifsFYI and 
> the contents of /proc/fs/cifs/DebugData form the same test
>>
>> Is this a regression? Did it work with earlier kernels and only
>> recently start failing?
>>
> I do not know, and i am a bit afraid to downgrade this machine below 
> 3.0 due to some changes arch linux has introduced recently. I can 
> always set up a few virtual machines though, and i can even request 
> permission from my company to give you shell access if you like. Which 
> kernel versions would you like me to test?
I just tested  3.1.5-1-ARCH on a virtual machine and it works, so it is 
probably a regression... On the same virtual machine 3.2-rc7 produces 
input/output error. The virtual machine is a fresh install of arch linux.
here is the relevant pastebin http://pastebin.com/BwX2DqJC
and attached is the tcpdump
As a am a noob to all this, what should I do next in order to help you? 
maybe compile a 3.1 kernel from official sources to make sure no patches 
from arch linux interfere?


[-- Attachment #2: cifs-traffic.pcap --]
[-- Type: application/octet-stream, Size: 28885 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Konstantinos Skarlatos <k.skarlatos@gmail.com>
To: Jeff Layton <jlayton@redhat.com>
Cc: linux-kernel@vger.kernel.org, linux-cifs@vger.kernel.org
Subject: Re: cifs: ls of mount point gives input/output error (probably related to CIFS: getdents() broken for large dirs)
Date: Fri, 30 Dec 2011 23:46:24 +0200	[thread overview]
Message-ID: <4EFE3130.8030500@gmail.com> (raw)
In-Reply-To: <4EFDFC4E.30102@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3977 bytes --]

On 30/12/2011 8:00 μμ, Konstantinos Skarlatos wrote:
> On 30/12/2011 3:11 μμ, Jeff Layton wrote:
>> On Fri, 30 Dec 2011 11:04:59 +0200
>> Konstantinos Skarlatos<k.skarlatos@gmail.com>  wrote:
>>
>>> On 29/12/2011 3:54 μμ, Konstantinos Skarlatos wrote:
>>>> On Πέμπτη, 29 Δεκέμβριος 2011 3:39:30 μμ, Jeff Layton wrote:
>>>>> On Thu, 29 Dec 2011 12:30:18 +0200
>>>>> Konstantinos Skarlatos<k.skarlatos@gmail.com>   wrote:
>>>>>
>>>>>> On 29/12/2011 4:04 πμ, Jeff Layton wrote:
>>>>>>> On Thu, 29 Dec 2011 02:08:57 +0200
>>>>>>> Konstantinos Skarlatos<k.skarlatos@gmail.com>    wrote:
>>>>>>>
>>>>>>>> I mount via cifs a windows XP share, df gives me correct sizes,
>>>>>>>> but when
>>>>>>>> I ls the mount point i get input/output error.
>>>>>>>> strace: http://pastebin.com/WXf8M1nu
>>>>>>>>
>>>>>>>> mount --verbose -t cifs -o 
>>>>>>>> username=administrator,password=blahblah
>>>>>>>> //192.168.0.11/jobs /mnt/backups/montaz/jobs
>>>>>>>> mount.cifs kernel mount options:
>>>>>>>> ip=192.168.0.11,unc=\\192.168.0.11\jobs,,ver=1,user=administrator,pass=******** 
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> df
>>>>>>>> //192.168.0.11/jobs                                       114464
>>>>>>>> 105196      9268  92% /mnt/backups/montaz/jobs
>>>>>>>>
>>>>>>>> ls /mnt/backups/montaz/jobs/
>>>>>>>> ls: reading directory /mnt/backups/montaz/jobs/: Input/output 
>>>>>>>> error
>>>>>>>> total 0
>>>>>>>>
>>>>>>>> the fun thing is that i can cd to a lower level directory, and ls
>>>>>>>> works
>>>>>>>> fine there! only the mount point has the problem
>>>>>>>>
>>>>>>>> ls /mnt/backups/montaz/jobs/test
>>>>>>>> total 44K
>>>>>>>> drwxr-xr-x 1 root root    0 Apr 30  2010 blah blah/
>>>>>>>> ......
>>>>>>>>
>>>>>>>> kernel version 3.2rc7
>>>>>>>>
>>>>>>>> this seems to be related to :
>>>>>>>> https://lkml.org/lkml/2011/8/1/427
>>>>>>>> Re: [3.0.0+][Regression][Bisected] CIFS: getdents() broken for
>>>>>>>> large dirs
>>>>>>>>
>>>>>>> Hmmm, maybe. What makes you think that it's related? What sort of
>>>>>>> server are you seeing this against?
>>>>>> Windows XP service pack 2 (greek)
>>>>>
>>>>> How many files are in the directory?
>>>>>
>>>> 140 folders and 20 files
>>>>
>>> Attached is a tcp dump of my session.
>> I tried reproducing this here, but wasn't able to. Testing against my
>> xp box worked fine.
>>
>> Most likely, the FIND_FILE responses are falling afoul of the code in
>> coalesce_t2 or check2ndT2. Unfortunately that code is pretty
>> complicated and I'm not certain what the problem actually is...
>>
>> One thing that's interesting is that the total data being sent in the
>> request is rather large (16336 bytes). I think that's legit, but maybe
>> it's exceeding the end of the buffer once we try to coalesce it.
>>
>> Would it be possible to get the cFYI output from this test?
> I did not get a cFYI output from that test, but i redid a 
> mount-ls-umount and am attaching the tcpdump
> Also here http://pastebin.com/J20uC6kU you can find the cifsFYI and 
> the contents of /proc/fs/cifs/DebugData form the same test
>>
>> Is this a regression? Did it work with earlier kernels and only
>> recently start failing?
>>
> I do not know, and i am a bit afraid to downgrade this machine below 
> 3.0 due to some changes arch linux has introduced recently. I can 
> always set up a few virtual machines though, and i can even request 
> permission from my company to give you shell access if you like. Which 
> kernel versions would you like me to test?
I just tested  3.1.5-1-ARCH on a virtual machine and it works, so it is 
probably a regression... On the same virtual machine 3.2-rc7 produces 
input/output error. The virtual machine is a fresh install of arch linux.
here is the relevant pastebin http://pastebin.com/BwX2DqJC
and attached is the tcpdump
As a am a noob to all this, what should I do next in order to help you? 
maybe compile a 3.1 kernel from official sources to make sure no patches 
from arch linux interfere?


[-- Attachment #2: cifs-traffic.pcap --]
[-- Type: application/octet-stream, Size: 28885 bytes --]

  parent reply	other threads:[~2011-12-30 21:46 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-29  0:08 cifs: ls of mount point gives input/output error (probably related to CIFS: getdents() broken for large dirs) Konstantinos Skarlatos
2011-12-29  0:08 ` Konstantinos Skarlatos
     [not found] ` <4EFBAF99.3010208-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-12-29  2:04   ` Jeff Layton
2011-12-29  2:04     ` Jeff Layton
     [not found]     ` <20111228210420.2a422d11-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2011-12-29 10:30       ` Konstantinos Skarlatos
2011-12-29 10:30         ` Konstantinos Skarlatos
     [not found]         ` <4EFC413A.80302-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-12-29 13:39           ` Jeff Layton
2011-12-29 13:39             ` Jeff Layton
     [not found]             ` <20111229083930.77fafba8-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2011-12-29 13:54               ` Konstantinos Skarlatos
2011-12-29 13:54                 ` Konstantinos Skarlatos
2011-12-30  9:04                 ` Konstantinos Skarlatos
     [not found]                   ` <4EFD7EBB.2060708-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-12-30 13:11                     ` Jeff Layton
2011-12-30 13:11                       ` Jeff Layton
     [not found]                       ` <20111230081120.3f7710f1-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2011-12-30 18:00                         ` Konstantinos Skarlatos
2011-12-30 18:00                           ` Konstantinos Skarlatos
     [not found]                           ` <4EFDFC4E.30102-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-12-30 21:46                             ` Konstantinos Skarlatos [this message]
2011-12-30 21:46                               ` Konstantinos Skarlatos
     [not found]                               ` <4EFE3130.8030500-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-12-30 22:18                                 ` Shirish Pargaonkar
     [not found]                                   ` <CADT32e+KQGeZn9h7pZnMzzXu=iqWNJZ5KinbZx5WS1kEpAMj-Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-12-30 22:44                                     ` Konstantinos Skarlatos
     [not found]                                       ` <4EFE3EDB.3090405-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-12-30 22:54                                         ` Konstantinos Skarlatos
2011-12-30 23:54                                         ` Konstantinos Skarlatos
2011-12-31  2:16                                 ` Konstantinos Skarlatos
2011-12-31  2:16                                   ` Konstantinos Skarlatos
     [not found]                                   ` <4EFE7080.5060302-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-12-31  5:43                                     ` Shirish Pargaonkar
2011-12-31  5:58                                     ` Shirish Pargaonkar
2011-12-31 11:59                             ` Jeff Layton
2011-12-31 11:59                               ` Jeff Layton
     [not found]                               ` <20111231065922.05727805-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2011-12-31 12:49                                 ` Konstantinos Skarlatos
2011-12-31 12:49                                   ` Konstantinos Skarlatos
     [not found]                                   ` <4EFF04E3.70200-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-12-31 13:41                                     ` Konstantinos Skarlatos
2011-12-31 13:41                                       ` Konstantinos Skarlatos
     [not found]                                       ` <4EFF110C.7010302-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-01-01  1:23                                         ` Jeff Layton
2012-01-01  1:23                                           ` Jeff Layton
     [not found]                                           ` <20111231202331.2a03bb35-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2012-01-01  7:22                                             ` Shirish Pargaonkar
     [not found]                                               ` <CADT32eKo0nD9DebA3-UX_DuM6pe_fj5k9hL8PsOs780P6aWG9w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-01 11:13                                                 ` Jeff Layton
2012-01-01 11:44                                             ` Jeff Layton
2012-01-01 11:44                                               ` Jeff Layton
     [not found]                                               ` <20120101064449.50277028-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2012-01-01 12:38                                                 ` Konstantinos Skarlatos
2012-01-01 12:38                                                   ` Konstantinos Skarlatos
2012-01-01 13:58                                                 ` Konstantinos Skarlatos
2012-01-01 13:58                                                   ` Konstantinos Skarlatos
2011-12-29  6:40   ` Shirish Pargaonkar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EFE3130.8030500@gmail.com \
    --to=k.skarlatos-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.