[CIFS] when not using unix extensions, check for and set ATTR_READONLY on create...
authorJeff Layton <jlayton@redhat.com>
Fri, 9 May 2008 22:28:02 +0000 (22:28 +0000)
committerSteve French <sfrench@us.ibm.com>
Sun, 11 May 2008 17:45:43 +0000 (17:45 +0000)
commit67750fb9e07940c078d1edb16fd736ccc92a4a4e
treee0f2f224e6b06f02fc7961f7e0e64263a826e8fa
parent02eadeffda169a45946c79270ec19f45eeafb8e7
[CIFS] when not using unix extensions, check for and set ATTR_READONLY on create and mkdir

When creating a directory on a CIFS share without POSIX extensions,
and the given mode has no write bits set, set the ATTR_READONLY bit.

When creating a file, set ATTR_READONLY if the create mode has no write
bits set and we're not using unix extensions.

There are some comments about this being problematic due to the VFS
splitting creates into 2 parts. I'm not sure what that's actually
talking about, but I'm assuming that it has something to do with how
mknod is implemented. In the simple case where we have no unix
extensions and we're just creating a regular file, there's no reason
we can't set ATTR_READONLY.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/cifspdu.h
fs/cifs/cifssmb.c
fs/cifs/dir.c
fs/cifs/inode.c