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