CIFS mounted drive issue

J. Schneider yankee at cell.de
Fri Apr 30 10:22:44 UTC 2010


Hi all,

as Yegor wrote last month I go the same behavior on openwrt r21196 and 
tested on mips (ar7161 routerboard 450G) with:

kernel 2.6.3.32.12 and 2.6.33.3
uclibc 0.9.30.x and 0.9.31

After mounting a w2k3 or w2k8 share with mount.cifs, ls -la breaks with:
ls: can't open '/mnt': Value too large for defined data type
root at OpenWrt:/tmp# strace ls -al
......
stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=20708, ...}) = 0
mprotect(0x2ab7b000, 4096, PROT_READ)   = 0
mprotect(0x2aabc000, 4096, PROT_READ)   = 0
ioctl(0, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
getuid()                                = 0
time([1272618468])                      = 1272618468
ioctl(0, 0x40087468, 0x7fe1d3f8)        = 0
ioctl(1, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
lstat64(0x7fe1deeb, 0x7fe1d2d8)         = 0
brk(0)                                  = 0x47f000
brk(0x480000)                           = 0x480000
open("/mnt", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 3
fstat(3, 0x7fe1d250)                    = -1 EOVERFLOW (Value too large 
for defined data type)
close(3)                                = 0
brk(0x481000)                           = 0x481000
ioctl(2147483647, TIOCNXCL, 0x7fe1d1d8) = -1 EBADF (Bad file descriptor)
brk(0x482000)                           = 0x482000
write(2, "ls: can't open '/mnt': Value too"..., 61ls: can't open '/mnt': 
Value too large for defined data type
) = 61
exit(1)                                 = ?


A samba share from a centos5 machine works fine.
root at OpenWrt:/tmp# strace ls -al /mnt
......
stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=20708, ...}) = 0
mprotect(0x2ab7b000, 4096, PROT_READ)   = 0
mprotect(0x2aabc000, 4096, PROT_READ)   = 0
ioctl(0, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
getuid()                                = 0
time([1272621607])                      = 1272621607
ioctl(0, 0x40087468, 0x7f9c90c8)        = 0
ioctl(1, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
lstat64(0x463488, 0x7f9c8fa8)           = 0
brk(0)                                  = 0x47f000
brk(0x480000)                           = 0x480000
open(".", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 3
fstat(3, {st_mode=S_IFDIR|S_ISVTX|0777, st_size=340, ...}) = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
brk(0x481000)                           = 0x481000
getdents64(3, /* 17 entries */, 4096)   = 488
brk(0x482000)                           = 0x482000


I'm happy for any hints

Many Thanks
Joerg


More information about the uClibc mailing list