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

"McDonald, Alex" <Alex.Mcdonald@netapp.com> Thu, 26 March 2015 15:40 UTC

Return-Path: <Alex.Mcdonald@netapp.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 EBACA1AD28D for <nfsv4@ietfa.amsl.com>; Thu, 26 Mar 2015 08:40:09 -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 yrURnCYp7Zoh for <nfsv4@ietfa.amsl.com>; Thu, 26 Mar 2015 08:40:07 -0700 (PDT)
Received: from mx142.netapp.com (mx142.netapp.com [216.240.21.19]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 49D271AD2DF for <nfsv4@ietf.org>; Thu, 26 Mar 2015 08:40:04 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="5.11,472,1422950400"; d="scan'208";a="31215859"
Received: from hioexcmbx04-prd.hq.netapp.com ([10.122.105.37]) by mx142-out.netapp.com with ESMTP; 26 Mar 2015 08:35:03 -0700
Received: from HIOEXCMBX07-PRD.hq.netapp.com (10.122.105.40) by hioexcmbx04-prd.hq.netapp.com (10.122.105.37) with Microsoft SMTP Server (TLS) id 15.0.995.29; Thu, 26 Mar 2015 08:35:02 -0700
Received: from HIOEXCMBX07-PRD.hq.netapp.com ([::1]) by hioexcmbx07-prd.hq.netapp.com ([fe80::f07f:691d:89d:53b7%21]) with mapi id 15.00.0995.031; Thu, 26 Mar 2015 08:35:02 -0700
From: "McDonald, Alex" <Alex.Mcdonald@netapp.com>
To: Marc Eshel <eshel@us.ibm.com>
Thread-Topic: [nfsv4] request for xattr as a WG item
Thread-Index: AQHP4ZykVQpkTj5F2kK8KWzXveykcpwj7x2AgAAbLACAAAM1gIAACZGAgAHDvYCAAAb+gIABTPcAgAARzgCAACitgIDzT+wAgBKQqQD//5mYUIAAgLaA///IN1CAAJVLAIACFIuA
Date: Thu, 26 Mar 2015 15:35:02 +0000
Message-ID: <2e87efb738ea450cb0141f5a835ed2ca@hioexcmbx07-prd.hq.netapp.com>
References: <CADaq8je5x2UjDcQ=g8y188Qnjpv=Ge7EuaihOLbtRnK7P+x_kg@mail.gmail.com> <7308296a2dad41339eb25141ec7de137@BL2PR03MB369.namprd03.prod.outlook.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-88257E12.007F564B@us.ibm.com>
In-Reply-To: <OFC14CA86A.C773DF9B-ON88257E12.007A55AC-88257E12.007F564B@us.ibm.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.120.60.34]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/nfsv4/fBwpvo6cxldMxoDYRPe8Y822GHs>
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 15:40:10 -0000

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?

> 
> >
> > 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".
 

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