Comment 6 for bug 271922

Steve Langasek (vorlon) wrote :

Disabling Unix CIFS extensions with 'echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled', the kernel cifs client now works for me (tested with the current jaunty kernel). Attached is a network trace showing the same operation ('touch file-cifs') with POSIX extensions disabled; the SET_FILE_INFO level is different ('File Basic Info' vs. 'File Unix Basic'),

I don't see anything special in the /content/ of the file info request when POSIX extensions are enabled, so I think this should be considered a server bug.

As an aside, if you're only using user mounts on the client, I would generally recommend POSIX extensions on the client independent of this particular bug, especially given a kernel (such as the one in hardy) that doesn't have CIFS_XATTRS turned on.

Pros of using POSIX extensions for user-only mounts:
- ability to create/use pipes and sockets
- ability to use POSIX locking reliably
- ?

Cons of using POSIX extensions for user-only mounts:
- if you ever authenticate to the server as a user whose remote uid is different from your local uid, the mount will be completely inaccessible to your user because of the pass-through ACL semantics

The current default behavior of mount.cifs is unfortunately really only suitable for system-level mounts where the client and server have the same uid/gid mappings.