Subject: Re: [nfsv4] Review of http://www.ietf.org/id/draft-naik-nfsv4-xattrs-01.txt

From: "Matt W. Benjamin" <[email-masked]>
Date: Wed, 8 Oct 2014 10:08:53 -0400 (EDT)

Hi,

----- "David Quigley" <[email-masked]> wrote:
<snip>

> xattr for its internal access control but anything beyond that I don't
> 
> think is ok. Trond in the past has expressed concerns about people 
> establishing arbitrary sub protocols by using xattrs. I agree that
> this 
> is a problem because it opens up the system to interoperability issues
> 
> by encouraging people to bypass any sort of standardization effort and
> 
> just using the excuse that its just opaque data.

I find this argument a bit strange.  A general-purpose tool like xattr allows
application developers and users to evolve subprotocols to satisfy real use
case scenarios.  The need to interoperate arises naturally to reduce/remove
impedence amongst competing approaches/implementations, so that what is standardized
arises from existing practice and experience.

Matt

-- 
Matt Benjamin
The Linux Box
206 South Fifth Ave. Suite 150
Ann Arbor, MI  48104

http://linuxbox.com

tel.  734-761-4689 
fax.  734-769-8938 
cel.  734-216-5309

---

From: David Quigley <[email-masked]>
Date: Wed, 08 Oct 2014 10:19:14 -0400

> arises from existing practice and experience.

Application use of xattrs isn't the issue here. The issue is when you 
have system components (such as an OS level security model) making 
decisions based off of these xattrs. If you want something handled by 
NFS then define it properly in the protocol. Don't attempt to make 
protocol extensions by cramming data into xattrs to be used by the OS 
out of band from NFS. The fear with xattrs and something like Labeled 
NFS was that it could have been used to apply access control on NFSv4 
while being completely out of band from the protocol. If we exposed 
security.* and SELinux or SMACK used those xattrs directly you now have 
access control on NFSv4 file objects that is completely out of band from 
the main protocol itself. Likewise what happens if you decide that you 
want to as a vendor add some additional information to pNFS and cram it 
into an xattr and just have a couple of implementations know about that 
information and use it? Those are the interoperability concerns I'm 
talking about (and if I understood trond what he was talking about as 
well). The point is xattrs shouldn't be used as a way to skirt around 
properly defining protocol extensions.

Dave