linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Peter Staubach <staubach-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: James Morris <jmorris-gx6/JNMH7DfYtjvyW6yDsg@public.gmane.org>
Cc: Trond Myklebust
	<trond.myklebust-41N18TsMXrtuMpJDpNschA@public.gmane.org>,
	"J. Bruce Fields"
	<bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>,
	linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
	Casey Schaufler <casey-iSGtlc1asvQWG2LlvL+J4A@public.gmane.org>,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 0/4][RFC] NFSv3: implement extended attribute (XATTR) protocol
Date: Mon, 12 Oct 2009 13:50:58 -0400	[thread overview]
Message-ID: <4AD36C82.8080904@redhat.com> (raw)
In-Reply-To: <alpine.LRH.2.00.0910091132130.32154-CK9fWmtY32x9JUWOpEiw7w@public.gmane.org>

James Morris wrote:
> On Tue, 6 Oct 2009, Peter Staubach wrote:
> 
>>> Three operations are implemented by the new XATTR protocol and map to 
>>> syscalls:
>>>
>>>  - GETXATTR     getxattr(2)
>>>  - LISTXTTR     listxattr(2)
>>>  - SETXATTR     setxattr(2) and removexattr(2)
>>>
>>> This code passes basic testing of the above syscalls, although there are 
>>> some areas which still need work:
>>>
>> Is there a set of tests which are used to test this functionality?
> 
> No, I just manually run a set of commands to verify basic behavior.
> 
> I gather LTP would be the best place to add tests for this?
> 
>>>  - Interoperability with other OSs (we probably should at least
>>>    discuss with BSD folk)
>>>
>> It would be good to include the BSD folks, but I think that more
>> valuable targets would be those with volume servers that might be
>> encountered at customer sites.  I think that we need NetApp, EMC,
>> perhaps Sun, providing some feedback on the protocol and semantics.
> 
> Given that IETF activity is closed for v3, I wonder what the best forum 
> would be to reach all these folk?
> 

With some sort of protocol description, it should be possible to
publish some sort of document.  Off hand, I don't know what it
might be called, but we can find out.

Otherwise, we might be able to get by with a .x description of
the over the wire protocol and some short words describing the
expected semantics of anything that non-Linux implementators
might need to be aware of.

I know that (at least) a few non-Linux folks lurk here.  Might
any of them have any opinions regarding the viability of
implementing this support on their own implementations?  TomH?
MichaelE?

>>>  - Caching of xattrs at the client
>>>
>> This will need a closer specification for the semantics associated
>> with these xattrs.  The need will be how to determine when to
>> invalidate cached xattrs.
> 
> I suspect user namespace xattrs should be treated like file data wrt 
> caching (i.e. they're fully under the control of the user).
> 

Umm, I think that some more detail might be required.  For
example, when the file contents are modified, the mtime on
the file is supposed to change.  I am wondering what in the
metadata for the file itself changes when an extended attribute
is added, modified, or deleted.  It is this information that we
can use to then do correct cache validation and invalidation.

I am assuming that the ctime changes, but we need to explicitly
ensure that this is true or discover what else is.

I believe that without caching, the performance of any resulting
implementations will not be acceptable.

>> On more bullet that I might suggest is ensuring that the protocol
>> is compliant with the RPC and XDR standards.
> 

I believe that http://tools.ietf.org/html/rfc5531#appendix-B
describes the portion of this that pertains to obtaining a
registered RPC program number.  Otherwise, ensuring that all
of the data structures are encoded according to the XDR
specifications and that all byte orders are encoded according
to the same specification should suffice.

	Thanx...

		ps
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2009-10-12 17:50 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-19 15:09 [PATCH 0/4][RFC] NFSv3: implement extended attribute (XATTR) protocol James Morris
2009-09-19 15:11 ` [PATCH 1/4] NFSv3: convert client to generic xattr API James Morris
2009-09-19 15:12 ` [PATCH 2/4] NFSv3: add xattr API config option for client James Morris
2009-09-19 15:13 ` [PATCH 3/4] NFSv3: add client implementation of XATTR protocol James Morris
2009-09-19 15:14 ` [PATCH 4/4] NFSv3: add server " James Morris
     [not found] ` <alpine.LRH.2.00.0909200020360.31818-CK9fWmtY32x9JUWOpEiw7w@public.gmane.org>
2009-09-19 17:30   ` [PATCH 0/4][RFC] NFSv3: implement extended attribute (XATTR) protocol Casey Schaufler
     [not found]     ` <4AB51538.7060201-iSGtlc1asvQWG2LlvL+J4A@public.gmane.org>
2009-09-20  5:13       ` James Morris
2009-09-22 12:47         ` Christoph Hellwig
2009-09-22 13:03           ` James Morris
     [not found]             ` <alpine.LRH.2.00.0909222253470.21052-CK9fWmtY32x9JUWOpEiw7w@public.gmane.org>
2009-09-22 13:07               ` Christoph Hellwig
2009-10-06 15:18   ` Peter Staubach
     [not found]     ` <4ACB5FC0.7060307-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-10-09  0:39       ` James Morris
     [not found]         ` <alpine.LRH.2.00.0910091132130.32154-CK9fWmtY32x9JUWOpEiw7w@public.gmane.org>
2009-10-09 23:14           ` Christoph Hellwig
2009-10-12 17:50           ` Peter Staubach [this message]
2009-10-12 19:26             ` Tom Haynes
     [not found]               ` <CA06CB5C-6084-45AA-B185-FBDA7E3B9754-8AdZ+HgO7noAvxtiuMwx3w@public.gmane.org>
2009-10-12 19:34                 ` Peter Staubach
2009-10-12 22:55                   ` Trond Myklebust
     [not found]                     ` <1255388158.3711.57.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-10-12 23:08                       ` J. Bruce Fields
2009-10-13  7:02                     ` James Morris
     [not found]                       ` <alpine.LRH.2.00.0910131733070.28896-CK9fWmtY32x9JUWOpEiw7w@public.gmane.org>
2009-10-13 18:27                         ` Trond Myklebust
     [not found]                           ` <1255458444.3711.113.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-10-14  0:48                             ` James Morris
     [not found]                               ` <alpine.LRH.2.00.0910141134410.4671-CK9fWmtY32x9JUWOpEiw7w@public.gmane.org>
2009-10-14  2:05                                 ` Casey Schaufler
2009-10-14  4:30                                   ` James Morris
     [not found]                                     ` <alpine.LRH.2.00.0910141526530.5279-CK9fWmtY32x9JUWOpEiw7w@public.gmane.org>
2009-10-14  4:50                                       ` Casey Schaufler
     [not found]                                         ` <4AD55879.2060207-iSGtlc1asvQWG2LlvL+J4A@public.gmane.org>
2009-10-14 12:46                                           ` Peter Staubach
2009-10-14  4:56                                 ` Dustin Kirkland
2009-10-14  6:02                                   ` James Morris
2009-10-14 15:05                               ` Tyler Hicks
     [not found] ` <bf63d7240910080919nf1bf6d0rd94f671d0645f674@mail.gmail.com>
2009-10-08 17:21   ` J. Bruce Fields
2009-10-09  0:31     ` James Morris
2009-10-08 17:22   ` J. Bruce Fields

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=4AD36C82.8080904@redhat.com \
    --to=staubach-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org \
    --cc=casey-iSGtlc1asvQWG2LlvL+J4A@public.gmane.org \
    --cc=hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=jmorris-gx6/JNMH7DfYtjvyW6yDsg@public.gmane.org \
    --cc=linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=trond.myklebust-41N18TsMXrtuMpJDpNschA@public.gmane.org \
    /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).