• Andreas Gruenbacher's avatar
    [PATCH] NFS: Fix handling of the umask when an NFSv3 default acl is present. · 055ffbea
    Andreas Gruenbacher authored
     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: default avatarAndreas Gruenbacher <agruen@suse.de>
    Acked-by: default avatarOlaf Kirch <okir@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
    055ffbea
inode.c 55.5 KB