• Andreas Gruenbacher's avatar
    [PATCH] nfsacl: Solaris VxFS compatibility fix · 22c1ea44
    Andreas Gruenbacher authored
    Here is a compatibility fix between Linux and Solaris when used with VxFS
    filesystems: Solaris usually accepts acl entries in any order, but with
    VxFS it replies with NFSERR_INVAL when it sees a four-entry acl that is not
    in canonical form.  It may also fail with other non-canonical acls -- I
    can't tell, because that case never triggers: We only send non-canonical
    acls when we fake up an ACL_MASK entry.
    
    Instead of adding fake ACL_MASK entries at the end, inserting them in the
    correct position makes Solaris+VxFS happy.  The Linux client and server
    sides don't care about entry order.  The three-entry-acl special case in
    which we need a fake ACL_MASK entry was handled in xdr_nfsace_encode.  The
    patch moves this into nfsacl_encode.
    Signed-off-by: default avatarAndreas Gruenbacher <agruen@suse.de>
    Acked-by: default avatarTrond Myklebust <trond.myklebust@fys.uio.no>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    22c1ea44
nfsacl.c 6.27 KB