xfs
[Top] [All Lists]

Re: Patches for NFSv4 support

To: Nathan Scott <nathans@xxxxxxx>
Subject: Re: Patches for NFSv4 support
From: "J. Bruce Fields" <bfields@xxxxxxxxxxxx>
Date: Mon, 17 Jan 2005 17:31:29 -0500
Cc: agruen@xxxxxxx, linux-xfs@xxxxxxxxxxx, acl-devel@xxxxxxxxxxx, nfsv4@xxxxxxxxxxxxx, Thomas Luzat <thomas.luzat@xxxxxxx>
In-reply-to: <20050118091345.B1432214@xxxxxxxxxxxxxxxxxxxxxxxx>
References: <1105961990.5065.9.camel@xxxxxxxxxxxxxxxxxxxxxxxx> <20050118091345.B1432214@xxxxxxxxxxxxxxxxxxxxxxxx>
Sender: linux-xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/1.5.6+20040907i
On Tue, Jan 18, 2005 at 09:13:45AM +1100, Nathan Scott wrote:
> Got this request to merge these patches in today, but I'm unaware
> of any discussion regarding them as yet.  Have you looked through
> these at all?

Actually, it would be better not to merge them as is--see below.

> From a quick high-level sort of look, it seems like the NFS4 ACL is
> alot more complex than the POSIX ACL, so they've (wisely) used a
> separate attribute, libacl extensions and new tools - nfs4_getfacl
> and nfs4_setfacl.
> 
> It seems the separate attribute is required, but perhaps the tools
> could be merged to provide a more transparent user interface?  Could
> do separate command line options, but it'd probably be better to
> query for each known ACL attribute name, and deal with each ACL type
> "on the fly" so to speak?  Hmm, setfacl would be tricky though, any
> ideas?  Or does it look OK as is?  They're not really very complex
> tools, so I suppose having new ones might be for the best?

With our patches you can actually manipulate nfsv4 acls with *either*
the standard posix getfacl and setfacl *or* with the new nfs4_getfacl
and nfs4_setfacl.  In the former case (and in any case where some other
application uses the existing libacl API) we have to map automatically
between NFSv4 ACLs and POSIX ACLs.  This is tricky and is the source of
most of the complexity in the code.

nfs4_getfacl and nfs4_setfacl allow the user to manipulate NFSv4 ACLs
directly and necessarily have a different user interface.

For the purposes of interoperating with other posixy platforms (like
Solaris) that implement NFSv4, it is helpful if the NFSv4<->POSIX ACL
mapping is consistent across platforms whenever possible.  There are
ongoing discussions about this, and we only recently arrived at a what I
expect to be the final version of that mapping.  The patches on our
website still need a few more updates to agree with that final version,
so they shouldn't be merged yet.  I'll try to do that update sometime
this week.

Also, the nfs4_setfacl implementation isn't actually finished, and the
NFSv4 client-side kernel patches aren't in yet (they'll probably be in
2.6.11 or 2.6.12).

But comments on the libacl patches are certainly welcomed, as we'll
probably want to merge them soon.

--b.


<Prev in Thread] Current Thread [Next in Thread>