From: Chuck Lever <chuck.lever@oracle.com>
To: James Morris <jmorris@namei.org>
Cc: linux-nfs@vger.kernel.org, linux-security-module@vger.kernel.org,
Trond Myklebust <Trond.Myklebust@netapp.com>,
"J. Bruce Fields" <bfields@fieldses.org>,
Neil Brown <neilb@suse.de>,
linux-fsdevel@vger.kernel.org,
Stephen Smalley <sds@tycho.nsa.gov>
Subject: Re: [PATCH 3/8][RFC v05] NFSv3: add client implementation of XATTR protocol
Date: Tue, 22 Jun 2010 11:32:09 -0400 [thread overview]
Message-ID: <4C20D779.5040008@oracle.com> (raw)
In-Reply-To: <alpine.LRH.2.00.1006220906300.16648@tundra.namei.org>
On 06/21/2010 07:21 PM, James Morris wrote:
> On Mon, 21 Jun 2010, Chuck Lever wrote:
>>> +#define NFS_XATTR_PROGRAM 391063 /* TODO: find another value */
>>
>> RFC 5531, appendix B proscribes the appropriate method for requesting an RPC
>> program number assignment.
>>
>> Even though the NFSACL protocol doesn't have one, I have to agree with Deniel
>> that we should have the RPCL definition of the on-the-wire protocol first, so
>> we can review it and ensure our user space and kernel XDR functions remain
>> consistent and correct over time.
>
> Indeed, this is something I'm hoping to do soon.
>
>> Is there an RFC?
>
> No, there have been several implementations, but never an RFC for xattrs.
> I'm using the XFS implementation as a starting point, and following the
> ACL model of implementing a side-protocol.
>> Especially if we expect non-Linux implementations, I would think an
>> IANA-assigned program number and a proper RPCL definition would be apriori
>> requirements.
>
> It's possible the FreeBSD folk may want to interop with this, as they have
> similar name/value xattrs.
This is why apriori documentation (such as an internet RFC or similar
that describes the wire protocol) is important. For an example of a
side band protocol description, you can look at RFC 1094 or RFC 1813 and
look at the sections that describe the MOUNT and NLM protocols.
Another place to look is at NFSv4. Some of the operations that can be
performed on NFSv4 xattrs are probably nearly what you would want for an
NFSv3 implementation. I think it is desirable for anything done for
NFSv3 to be compatible with NFSv4, as that is already a standard.
> (Btw, slides from a presentation I did on this last year at LinuxCon are
> at http://namei.org/presentations/linuxcon09_nfsv3xattrs.pdf)
NFSACL was added to our NFSv3 implementation because there was a desire
to interoperate with an existing (albeit nonstandard) implementation.
Here you are building a new side band protocol from scratch.
Before you go too much farther, you should justify the need to enhance a
closed standard like NFSv3 rather than expanding on NFSv4 for your
purposes. Since NFSv4 already has a lot of what is needed, it seems
like you'd just need a couple of changes in order to support name/value
pairs. You would have a shot at actually making this an internet standard.
I think this community would prefer to advance reasons for users to
adopt NFSv4, rather than tie users even more to NFSv3.
--
Chuck Lever
next prev parent reply other threads:[~2010-06-22 15:32 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-21 11:25 [PATCH 0/8][v05][RFC] NFSv3: implement extended attribute protocol (XATTR) James Morris
2010-06-21 11:27 ` [PATCH 1/8][RFC v05] NFSv3: convert client to generic xattr API James Morris
2010-06-21 11:28 ` [PATCH 2/8][RFC v05] NFSv3: add xattr API config option for client James Morris
2010-06-21 11:29 ` [PATCH 3/8][RFC v05] NFSv3: add client implementation of XATTR protocol James Morris
2010-06-21 20:02 ` Chuck Lever
[not found] ` <4C1FC553.4030904-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2010-06-21 23:21 ` James Morris
2010-06-22 15:32 ` Chuck Lever [this message]
[not found] ` <4C20D779.5040008-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2010-06-23 0:26 ` James Morris
2010-06-23 15:56 ` Casey Schaufler
2010-06-23 17:29 ` Chuck Lever
[not found] ` <4C224463.90306-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2010-06-23 21:39 ` Casey Schaufler
2010-06-23 23:49 ` James Morris
[not found] ` <alpine.LRH.2.00.1006230857450.25778-CK9fWmtY32x9JUWOpEiw7w@public.gmane.org>
2010-06-23 18:35 ` J. Bruce Fields
2010-06-23 18:58 ` Trond Myklebust
2010-06-23 22:51 ` James Morris
[not found] ` <alpine.LRH.2.00.1006212128160.13583-CK9fWmtY32x9JUWOpEiw7w@public.gmane.org>
2010-06-24 4:33 ` Serge E. Hallyn
2010-06-24 8:35 ` James Morris
2010-06-24 13:44 ` Serge E. Hallyn
2010-06-21 11:30 ` [PATCH 4/8][RFC v05] NFSv3: add server " James Morris
2010-06-21 11:30 ` [PATCH 5/8][RFC v05] XATTR: add new top level nfsd namespace and implement ext3 support James Morris
[not found] ` <alpine.LRH.2.00.1006212051530.13583-CK9fWmtY32x9JUWOpEiw7w@public.gmane.org>
2010-06-21 11:31 ` [PATCH 6/8][RFC v05] NFSv3: Add server namespace support for XATTR protocol implementation James Morris
2010-06-21 11:32 ` [PATCH 7/8][RFC v05] NFSv3: Add xattr and xattrsec mount options to support XATTR protocol James Morris
2010-06-21 11:33 ` [PATCH 8/8][RFC v05] SELinux/NFSv3: Enable xattr labeling behavior for SELinux with the " James Morris
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C20D779.5040008@oracle.com \
--to=chuck.lever@oracle.com \
--cc=Trond.Myklebust@netapp.com \
--cc=bfields@fieldses.org \
--cc=jmorris@namei.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=neilb@suse.de \
--cc=sds@tycho.nsa.gov \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).