Daniel Barrett
2004-Oct-05 16:46 UTC
[Samba] Help: File is present (via Samba) but cannot be opened?
When I mount a Windows XP partition (NTFS) on my SuSE 9.1 machine via Samba 3.0.4, I find some files can be listed (via "ls") but mysteriously cannot be opened, even though the file permissions appear fine. What is a good way to track down this sort of problem? Here's an example where I "cd" into a samba-mounted directory and try to open a file that I know is present. It cannot be opened, but I can list it by wildcard so the shell does see the directory entry. ALL OTHER FILES in the directory are fine, it's just this one that is problematic. # cd '/mnt/sirius/g/Work/Mac_Home/MANUSCRIPTS/AF and HB detection' # /bin/ls -l PsyScience.cove.otes.031203.doc /bin/ls: PsyScience.cove.otes.031203.doc: No such file or directory # /bin/ls -l PsyScience.cove.otes.031203.do* -rwxr-xr-x 1 root root 54272 Mar 13 2003 PsyScience.cove.otes.031203.doc # df . Filesystem 1K-blocks Used Available Use% Mounted on //sirius/Work 19526656 4684800 14841856 24% /mnt/sirius/g # stat -f . File: "." ID: 0 Namelen: 1024 Type: smb Blocks: Total: 4881664 Free: 3710464 Available: 3710464 Size: 4096 Inodes: Total: 0 Free: 0 If it makes any difference, the samba-mounted drive is attached by firewire to the XP machine. Could $LANG make any difference? # echo $LANG en_US.UTF-8 Just for fun, here's the /etc/fstab entry: //sirius/Work /mnt/sirius/g smbfs username=xxxxx 0 0 and an strace of the unsuccessful "ls" command above. execve("/bin/ls", ["ls", "PsyScience.cove.otes.031203.doc"], [/* 62 vars */]) = 0 uname({sys="Linux", node="myhost", ...}) = 0 brk(0) = 0x805b000 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40017000 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=122568, ...}) = 0 old_mmap(NULL, 122568, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000 close(3) = 0 open("/lib/tls/librt.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\34\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=35844, ...}) = 0 old_mmap(NULL, 30460, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40036000 madvise(0x40036000, 30460, MADV_SEQUENTIAL|0x1) = 0 old_mmap(0x4003d000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x6000) = 0x4003d000 close(3) = 0 open("/lib/libacl.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\24"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=31632, ...}) = 0 old_mmap(NULL, 20956, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4003e000 madvise(0x4003e000, 20956, MADV_SEQUENTIAL|0x1) = 0 old_mmap(0x40043000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x5000) = 0x40043000 close(3) = 0 open("/lib/libselinux.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0003\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=61336, ...}) = 0 old_mmap(NULL, 57140, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40044000 madvise(0x40044000, 57140, MADV_SEQUENTIAL|0x1) = 0 old_mmap(0x40050000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xb000) = 0x40050000 close(3) = 0 open("/lib/tls/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360U\1"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1349081, ...}) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40052000 old_mmap(NULL, 1132940, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40053000 madvise(0x40053000, 1132940, MADV_SEQUENTIAL|0x1) = 0 old_mmap(0x4015d000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x10a000) = 0x4015d000 old_mmap(0x40165000, 10636, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40165000 close(3) = 0 open("/lib/tls/libpthread.so.0", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360I\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=88272, ...}) = 0 old_mmap(NULL, 65004, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40168000 madvise(0x40168000, 65004, MADV_SEQUENTIAL|0x1) = 0 old_mmap(0x40175000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xd000) = 0x40175000 old_mmap(0x40176000, 7660, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40176000 close(3) = 0 open("/lib/libattr.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \r\0\000"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=14350, ...}) = 0 old_mmap(NULL, 13076, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40178000 madvise(0x40178000, 13076, MADV_SEQUENTIAL|0x1) = 0 old_mmap(0x4017b000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2000) = 0x4017b000 close(3) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4017c000 set_thread_area({entry_number:-1 -> 6, base_addr:0x4017c2a0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 munmap(0x40018000, 122568) = 0 set_tid_address(0x4017c2e8) = 23015 rt_sigaction(SIGRTMIN, {0x4016c950, [], SA_SIGINFO}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN], NULL, 8) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0 _sysctl({{CTL_KERN, KERN_VERSION}, 2, 0xbfffdd98, 35, (nil), 0}) = 0 open("/proc/mounts", O_RDONLY) = 3 brk(0) = 0x805b000 brk(0x807d000) = 0x807d000 read(3, "rootfs / rootfs rw 0 0\n/dev/root"..., 4095) = 1619 brk(0x807c000) = 0x807c000 close(3) = 0 open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) open("/usr/share/locale/locale.alias", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=2528, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40018000 read(3, "# Locale name alias data base.\n#"..., 4096) = 2528 read(3, "", 4096) = 0 close(3) = 0 munmap(0x40018000, 4096) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_IDENTIFICATION", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=365, ...}) = 0 mmap2(NULL, 365, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000 close(3) = 0 open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=21436, ...}) = 0 mmap2(NULL, 21436, PROT_READ, MAP_SHARED, 3, 0) = 0x40019000 close(3) = 0 futex(0x40164ecc, FUTEX_WAKE, 2147483647) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_MEASUREMENT", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_MEASUREMENT", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=23, ...}) = 0 mmap2(NULL, 23, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4001f000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_TELEPHONE", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_TELEPHONE", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=59, ...}) = 0 mmap2(NULL, 59, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40020000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_ADDRESS", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_ADDRESS", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=155, ...}) = 0 mmap2(NULL, 155, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40021000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_NAME", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_NAME", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=77, ...}) = 0 mmap2(NULL, 77, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40022000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_PAPER", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_PAPER", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=34, ...}) = 0 mmap2(NULL, 34, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40023000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_MESSAGES", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFDIR|0755, st_size=80, ...}) = 0 close(3) = 0 open("/usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=52, ...}) = 0 mmap2(NULL, 52, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40024000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_MONETARY", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_MONETARY", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=286, ...}) = 0 mmap2(NULL, 286, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40025000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_COLLATE", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=882134, ...}) = 0 mmap2(NULL, 882134, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4017d000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_TIME", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_TIME", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=2451, ...}) = 0 mmap2(NULL, 2451, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40255000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_NUMERIC", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_NUMERIC", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0 mmap2(NULL, 54, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40256000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_CTYPE", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_CTYPE", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=208464, ...}) = 0 mmap2(NULL, 208464, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40257000 close(3) = 0 open("/proc/filesystems", O_RDONLY) = 3 read(3, "nodev\tsysfs\nnodev\trootfs\nnodev\tb"..., 4095) = 303 close(3) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 ioctl(1, TIOCGWINSZ, {ws_row=42, ws_col=142, ws_xpixel=0, ws_ypixel=0}) = 0 stat64("PsyScience.cove.otes.031203.doc", 0x805e364) = -1 ENOENT (No such file or directory) lstat64("PsyScience.cove.otes.031203.doc", 0x805e364) = -1 ENOENT (No such file or directory) write(2, "ls: ", 4ls: ) = 4 write(2, "PsyScience.cove.otes.031203.doc", 31PsyScience.cove.otes.031203.doc) = 31 open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) write(2, ": No such file or directory", 27: No such file or directory) = 27 write(2, "\n", 1 ) = 1 exit_group(1) = ? -- Dan Barrett dbarrett@blazemonger.com
Russell Packer
2004-Oct-05 16:56 UTC
[Samba] Help: File is present (via Samba) but cannot be opened?
> Daniel Barrett > Sent: 05 October 2004 17:46 > To: samba@lists.samba.org > Cc: Daniel Barrett > Subject: [Samba] Help: File is present (via Samba) but cannot beopened?> > > When I mount a Windows XP partition (NTFS) on my SuSE 9.1 machine via > Samba 3.0.4, I find some files can be listed (via "ls") butmysteriously> cannot be opened, even though the file permissions appear fine. What > is a good way to track down this sort of problem? > > Here's an example where I "cd" into a samba-mounted directory and tryto> open a file that I know is present. It cannot be opened, but I canlist> it by wildcard so the shell does see the directory entry. ALL OTHER > FILES in the directory are fine, it's just this one that is > problematic. > > # cd '/mnt/sirius/g/Work/Mac_Home/MANUSCRIPTS/AF and HB detection' > > # /bin/ls -l PsyScience.cove.otes.031203.doc > /bin/ls: PsyScience.cove.otes.031203.doc: No such file or directory > > # /bin/ls -l PsyScience.cove.otes.031203.do* > -rwxr-xr-x 1 root root 54272 Mar 13 2003PsyScience.cove.otes.031203.doc I'm battling with the same problem at the moment as well. I'm hoping (fingers crossed!) that using "cifs" as the filesystem type will resolve the issue. Of course, this means moving from my current 2.4 kernel to a 2.6 one... and it takes a little while to re-compile on my p500!
Daniel Barrett
2004-Oct-05 17:48 UTC
[Samba] Re: Help: File is present (via Samba) but cannot be opened?
On October 5, 2004, Daniel Barrett wrote:>>When I mount a Windows XP partition (NTFS) on my SuSE 9.1 machine via >Samba 3.0.4, I find some files can be listed (via "ls") but mysteriously >>cannot be opened...Russell Packer responded:>I'm battling with the same problem at the moment as well. I'm hoping >(fingers crossed!) that using "cifs" as the filesystem type will resolve >the issue.Thanks for the suggestion. cifs works! Thank you!! cifs also reveals that the filename in question contains non-ASCII characters, which must have triggered the problem. Under smbfs: PsyScience.cove.otes.031203.doc Under cifs: PsyScience.cove??otes.031203.doc -- Dan Barrett dbarrett@blazemonger.com