[linux-cifs-client] readlink returns ENOENT for file that exists

Jody McIntyre scjody at sun.com
Wed Feb 11 22:27:20 GMT 2009


I'm using Ubuntu's 2.6.27-7 kernel to mount my home directory from an
OS X machine via CIFS.  When I run EMACS and attempt to edit a file, it
gets stuck in a symlink()/readlink() loop:

symlink("scjody at ailuropoda.7186:1234291834", "/home/scjody/cfs/.#notes") = -1 EEXIST (File exists)
readlink("/home/scjody/cfs/.#notes", 0x1892280, 100) = -1 ENOENT (No such file or directory)

The file does exist; I can see it via 'ls -l' on the OS X machine.  But
on the Linux machine:

scjody at ailuropoda:~$ ls -l cfs/.#notes
ls: cannot access cfs/.#notes: No such file or directory

After killing emacs, I _can_ 'ls -l' the file:

scjody at ailuropoda:~$ ls -l cfs/.#notes
lrwxrwxrwx 1 scjody scjody 33 2009-02-11 16:45 cfs/.#notes -> scjody at ailuropoda.6886:1234291834

A wireshark capture of the loop is here:
http://downloads.lustre.org/people/scjody/cifsbug.pcap

Any ideas?

Thanks,
Jody


More information about the linux-cifs-client mailing list