Bug 4180 - cifs client broken in 2.6.18 kernel
Summary: cifs client broken in 2.6.18 kernel
Status: RESOLVED FIXED
Alias: None
Product: CifsVFS
Classification: Unclassified
Component: kernel fs (show other bugs)
Version: 2.6
Hardware: x86 Linux
: P3 major
Target Milestone: ---
Assignee: Steve French
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-10-18 05:35 UTC by Birger Wathne
Modified: 2006-10-25 16:23 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Birger Wathne 2006-10-18 05:35:51 UTC
After upgrading to 2.6.18 (fedora core 5) our clients have problems with cifs mounts. As we use cifs-mounted home direcotries this a major problem.

The directories mount fine. We can cd to directories, and list directories with only a few files. Directories with more than a very few files just give this error:
nfybw@arpaksad:~$ ls
ls: reading directory .: Invalid argument

The relevant part of strace seems to be
open(".", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3
fstat64(3, {st_mode=S_IFDIR|0711, st_size=0, ...}) = 0
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
getdents64(3, 0x988117c, 4096)          = -1 EINVAL (Invalid argument)

The server is samba (I think 3.0.22).
Comment 1 Steve French 2006-10-25 16:21:06 UTC
Is this FC5? Fedora added a patch to their 2.6.18 which changes the default i/o size for inodes (from 16K which cifs sets it to - to a much smaller 4K, page size) which causes readdir to run out of space.

See
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=211070
Comment 2 Steve French 2006-10-25 16:23:12 UTC
Fix is attached to comment 13 of
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=211070

For FC5 cifs may eventually change the cifs_getattr (stat) code to overwrite the smaller i/o size that is now written into inodes (with cifs's recommended size of 16K)