Re: [nfsv4] request for xattr as a WG item

Marc Eshel <eshel@us.ibm.com> Thu, 26 March 2015 17:52 UTC

Return-Path: <eshel@us.ibm.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B948B1A8A6B for <nfsv4@ietfa.amsl.com>; Thu, 26 Mar 2015 10:52:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.911
X-Spam-Level:
X-Spam-Status: No, score=-6.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id O1BjzRrMkOBk for <nfsv4@ietfa.amsl.com>; Thu, 26 Mar 2015 10:51:58 -0700 (PDT)
Received: from e9.ny.us.ibm.com (e9.ny.us.ibm.com [32.97.182.139]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3C5F71A8A51 for <nfsv4@ietf.org>; Thu, 26 Mar 2015 10:51:58 -0700 (PDT)
Received: from /spool/local by e9.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for <nfsv4@ietf.org> from <eshel@us.ibm.com>; Thu, 26 Mar 2015 13:51:56 -0400
Received: from d01dlp03.pok.ibm.com (9.56.250.168) by e9.ny.us.ibm.com (192.168.1.109) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Thu, 26 Mar 2015 13:51:54 -0400
Received: from b01cxnp22035.gho.pok.ibm.com (b01cxnp22035.gho.pok.ibm.com [9.57.198.25]) by d01dlp03.pok.ibm.com (Postfix) with ESMTP id 2B75AC9003E for <nfsv4@ietf.org>; Thu, 26 Mar 2015 13:43:03 -0400 (EDT)
Received: from d01av05.pok.ibm.com (d01av05.pok.ibm.com [9.56.224.195]) by b01cxnp22035.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t2QHpr8424838254 for <nfsv4@ietf.org>; Thu, 26 Mar 2015 17:51:53 GMT
Received: from d01av05.pok.ibm.com (localhost [127.0.0.1]) by d01av05.pok.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t2QHprgn006815 for <nfsv4@ietf.org>; Thu, 26 Mar 2015 13:51:53 -0400
Received: from d01ml604.pok.ibm.com (d01ml604.pok.ibm.com [9.63.8.151]) by d01av05.pok.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id t2QHpr51006809; Thu, 26 Mar 2015 13:51:53 -0400
In-Reply-To: <2e87efb738ea450cb0141f5a835ed2ca@hioexcmbx07-prd.hq.netapp.com>
References: <CADaq8je5x2UjDcQ=g8y188Qnjpv=Ge7EuaihOLbtRnK7P+x_kg@mail.gmail.com> <OF689B84FC.D46BD76F-ON88257D69.0067EFFF- <64A81EEC-E8B2-423D-9EE5-C0CD8A2BCC96@primarydata.com> <OFA858D342.4C470B0D-ON88257D69.00714B10-88257D69.007 <B36E413B-2E4D-46DE-ACAD-1E5EF0CE315B@primarydata.com> <54348E7F.6030305@davequigley.com> <OFDF03B46F.85E8C096-ON88257D6B.000 <abf139a289cb41a785e42f131a8a5034@BL2PR03MB369.namprd03.prod.outlook.com> <OF1AA9EA23.7239BC03-ON88257D6B.0077C1A4-88257D6B.0 <e0d3d84ac21146e0857e6a84e4fed151@BL2PR03MB369.namprd03.prod.outlook.com> <e24c4fde0d5346e4a3c0f8053baa3ce8@hioexcmbx07-prd.hq.netapp.com> <OFD <a8c0706b3d77485ca05b9c0c1ada7849@hioexcmbx07-prd.hq.netapp.com> <OFC14CA86A.C773DF9B-ON88257E12.007A55AC-88 <2e87efb738ea450cb0141f5a835ed2ca@hioexcmbx07-prd.hq.netapp.com>
To: "McDonald, Alex" <Alex.Mcdonald@netapp.com>
MIME-Version: 1.0
X-KeepSent: DCDF3022:D4107D16-88257E14:0060F413; type=4; name=$KeepSent
X-Mailer: IBM Notes Build V902_06172014 June 17, 2014
From: Marc Eshel <eshel@us.ibm.com>
Message-ID: <OFDCDF3022.D4107D16-ON88257E14.0060F413-88257E14.006221D3@us.ibm.com>
Date: Thu, 26 Mar 2015 10:51:51 -0700
X-MIMETrack: Serialize by Router on D01ML604/01/M/IBM(Release 9.0.1FP2|August 03, 2014) at 03/26/2015 13:51:52, Serialize complete at 03/26/2015 13:51:52
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
X-TM-AS-MML: disable
X-Content-Scanned: Fidelis XPS MAILER
x-cbid: 15032617-0033-0000-0000-00000226F69E
Archived-At: <http://mailarchive.ietf.org/arch/msg/nfsv4/vmwJZRJrX1OYpQww_VJhd5i9QOg>
Cc: "nfsv4@ietf.org" <nfsv4@ietf.org>
Subject: Re: [nfsv4] request for xattr as a WG item
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Mar 2015 17:52:05 -0000

"McDonald, Alex" <Alex.Mcdonald@netapp.com> wrote on 03/26/2015 08:35:02 
AM:

> From: "McDonald, Alex" <Alex.Mcdonald@netapp.com>
> To: Marc Eshel/Almaden/IBM@IBMUS
> Cc: "nfsv4@ietf.org" <nfsv4@ietf.org>, Spencer Shepler 
> <sshepler@microsoft.com>
> Date: 03/26/2015 08:35 AM
> Subject: RE: [nfsv4] request for xattr as a WG item
> 
> Some snippage.
> 
> > -----Original Message-----
> > From: Marc Eshel [mailto:eshel@us.ibm.com]
> > Sent: 24 March 2015 23:11
> > To: McDonald, Alex
> > Cc: Marc Eshel; nfsv4@ietf.org; Spencer Shepler
> > Subject: RE: [nfsv4] request for xattr as a WG item
> > 
> > "McDonald, Alex" <Alex.Mcdonald@netapp.com> wrote on 03/24/2015
> > 03:04:13
> > PM:
> > 
> > > From: "McDonald, Alex" <Alex.Mcdonald@netapp.com>
> > > To: Marc Eshel/Almaden/IBM@IBMUS
> > > Cc: "nfsv4@ietf.org" <nfsv4@ietf.org>, Spencer Shepler
> > > <sshepler@microsoft.com>
> > > Date: 03/24/2015 03:04 PM
> > > Subject: RE: [nfsv4] request for xattr as a WG item
> > >
> > > Thanks Marc, that was what I suspected; I hadn't read the draft
> > > proposal. My apologies.
> > >
> > > Specifically addressing
> > https://tools.ietf.org/html/draft-naik-nfsv4-xattrs-01
> > >
> > > 5.1.1 and 5.1.2 assume that the underlying file system is uniform;
> > > either a single file system or a union of file systems that have
> > > maxxattrsize and xattrsize values that match.
> > 
> > yes.
> 
> Is that a reasonable expectation? If we have a union of no xattrs 
> supported and xattrs supported, what should be the source of 
> maxxattrsize and xattrsize?

You get these values from GETATTR, same way you get maxfilesize, so you 
should get it once you crossed to the fs that you are about to set xattr 
to. You will get the right answer for sure if you call GETATTR on the file 
that you are about to set xattr on. 

> 
> > 
> > >
> > > 5.2.4.3 DESCRIPTION (for SETXATTR) describes atomicity
> > > considerations and imposes at least an in-order requirement for
> > > xattr deletions, updates or creations. A successful SETXATTR should
> > > (but is not required to) set time_modify. Although each xattr
> > > operation (update or delete) can be reported as a success or failure
> > > individually, is time_modify updated on partial failure? How does
> > > that reconcile with the use of time_access to detect cache 
incoherency?
> > 
> > We can make it more clear in the draft but any change even partial 
change
> > to xattr SHOULD change the file time_modify and change attributes
> 
> OK, clarification helpful
> 
> > 
> > >
> > > I'll now turn to my questions.
> > >
> [snip]
> > >
> > > b.      Searchability. Can users expect to search for keys or keys
> > > and values, and how would the protocol support it?
> > >
> > > Not without difficulty or at least, it's not clear to me how to
> > > support searching for user.colour="red" without client support, i.e.
> > > requesting attributes that don't match and discarding them. I can't
> > > see a way to inform the server of this type of request. (The whole
> > > area of server side searching for metadata is complex and
> > > problematic, since a lot of the use cases for it require matching
> > > that isn’t for equality.)
> > 
> > Searching for xattr is not part of this draft.
> 
> I understand that and I both misspoke & overgeneralised; I meant update.
> 
> If I have an xattr of user.mynspace.color and I wish to change it to
> "green" if it is "red", then all I have is GETXATTR, a check, 
> followed by SETXATTR as two operations. A compound-like operation 
> isn't possible, but it would be great to support it with SETXATTR 
> (type=equality-match) iff user.mynspace.color="red" then update to 
> "green" else fail the operation. Matching for equality might be the 
> minimum. This would also be an alternative  to "last writer wins".
> 

This is a good idea and we can add it if no one objects, we did get some 
push back for options that are not supported on the application interface. 
Is this option available on any OS for applications to use? 

> 
> Alex McDonald
> Standards & Industry Associations Group
> CTO Office
> NetApp
> +44 7795 046686 Mobile Phone
> alexmc@netapp.com
> twitter: @alextangent
> Follow us: 
>