linux/fs/nfs
Andreas Gruenbacher 055ffbea05 [PATCH] NFS: Fix handling of the umask when an NFSv3 default acl is present.
NFSv3 has no concept of a umask on the server side: The client applies
 the umask locally, and sends the effective permissions to the server.
 This behavior is wrong when files are created in a directory that has a
 default ACL.  In this case, the umask is supposed to be ignored, and
 only the default ACL determines the file's effective permissions.

 Usually its the server's task to conditionally apply the umask.  But
 since the server knows nothing about the umask, we have to do it on the
 client side.  This patch tries to fetch the parent directory's default
 ACL before creating a new file, computes the appropriate create mode to
 send to the server, and finally sets the new file's access and default
 acl appropriately.

 Many thanks to Buck Huppmann <buchk@pobox.com> for sending the initial
 version of this patch, as well as for arguing why we need this change.

 Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
 Acked-by: Olaf Kirch <okir@suse.de>
 Signed-off-by: Andrew Morton <akpm@osdl.org>
 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-06-22 16:07:24 -04:00
..
Makefile [PATCH] NFS: Add support for NFSv3 ACLs 2005-06-22 16:07:24 -04:00
callback.c [PATCH] NFS: Header file cleanup... 2005-06-22 16:07:06 -04:00
callback.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
callback_proc.c [PATCH] NFS: Header file cleanup... 2005-06-22 16:07:06 -04:00
callback_xdr.c [PATCH] NFS: Header file cleanup... 2005-06-22 16:07:06 -04:00
delegation.c [PATCH] NFS: Header file cleanup... 2005-06-22 16:07:06 -04:00
delegation.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dir.c [PATCH] NFS: Add support for NFSv3 ACLs 2005-06-22 16:07:24 -04:00
direct.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
file.c [PATCH] NFS: Add support for NFSv3 ACLs 2005-06-22 16:07:24 -04:00
idmap.c [PATCH] NFS: Header file cleanup... 2005-06-22 16:07:06 -04:00
inode.c [PATCH] NFS: Fix handling of the umask when an NFSv3 default acl is present. 2005-06-22 16:07:24 -04:00
mount_clnt.c [PATCH] RPC: Make rpc_create_client() destroy the transport on failure. 2005-06-22 16:07:03 -04:00
nfs2xdr.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nfs3acl.c [PATCH] NFS: Fix handling of the umask when an NFSv3 default acl is present. 2005-06-22 16:07:24 -04:00
nfs3proc.c [PATCH] NFS: Fix handling of the umask when an NFSv3 default acl is present. 2005-06-22 16:07:24 -04:00
nfs3xdr.c [PATCH] NFS: Add support for NFSv3 ACLs 2005-06-22 16:07:24 -04:00
nfs4_fs.h [PATCH] NFSv4: Add {get,set,list}xattr methods for nfs4 2005-06-22 16:07:10 -04:00
nfs4proc.c [PATCH] NFSv4: client-side caching NFSv4 ACLs 2005-06-22 16:07:15 -04:00
nfs4renewd.c [PATCH] NFS: Header file cleanup... 2005-06-22 16:07:06 -04:00
nfs4state.c [PATCH] RPC: [PATCH] improve rpcauthauth_create error returns 2005-06-22 16:07:16 -04:00
nfs4xdr.c [PATCH] NFSv4: Client-side xdr for writing NFSv4 acls 2005-06-22 16:07:13 -04:00
nfsroot.c [PATCH] NFS: Add support for NFSv3 ACLs 2005-06-22 16:07:24 -04:00
pagelist.c [PATCH] NFS: cleanup: shrink struct nfs_open_context 2005-06-22 16:07:08 -04:00
proc.c [PATCH] NFS: Allow NFS versions to support different sets of inode operations. 2005-06-22 16:07:09 -04:00
read.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
symlink.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unlink.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
write.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00