Re: [nfsv4] Last call for NSDB Protocol for Federated Filesystems (Oct 4 - Oct 22nd)

James Lentini <jlentini@netapp.com> Mon, 08 November 2010 16:06 UTC

Return-Path: <jlentini@netapp.com>
X-Original-To: nfsv4@core3.amsl.com
Delivered-To: nfsv4@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 940743A68FC for <nfsv4@core3.amsl.com>; Mon, 8 Nov 2010 08:06:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.599
X-Spam-Level:
X-Spam-Status: No, score=-10.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7kWOf5fJQnT8 for <nfsv4@core3.amsl.com>; Mon, 8 Nov 2010 08:06:30 -0800 (PST)
Received: from mx2.netapp.com (mx2.netapp.com [216.240.18.37]) by core3.amsl.com (Postfix) with ESMTP id 7D2FB3A68E6 for <nfsv4@ietf.org>; Mon, 8 Nov 2010 08:06:30 -0800 (PST)
X-IronPort-AV: E=Sophos;i="4.58,314,1286175600"; d="scan'208";a="479185772"
Received: from smtp1.corp.netapp.com ([10.57.156.124]) by mx2-out.netapp.com with ESMTP; 08 Nov 2010 08:06:52 -0800
Received: from jlentini-linux.hq.netapp.com (jlentini-linux.hq.netapp.com [10.97.16.21]) by smtp1.corp.netapp.com (8.13.1/8.13.1/NTAP-1.6) with ESMTP id oA8G6ppU005867; Mon, 8 Nov 2010 08:06:51 -0800 (PST)
Date: Mon, 08 Nov 2010 11:06:51 -0500
From: James Lentini <jlentini@netapp.com>
X-X-Sender: jlentini@jlentini-linux.nane.netapp.com
To: Daniel Ellard <ellard@gmail.com>
In-Reply-To: <AANLkTi=octHZF_Cf0kqbfoL78jOTCfmq_pYDoMW1B2Pr@mail.gmail.com>
Message-ID: <alpine.LFD.2.00.1011081004390.14303@jlentini-linux.nane.netapp.com>
References: <E043D9D8EE3B5743B8B174A814FD584F0A6BFD9C@TK5EX14MBXC126.redmond.corp.microsoft.com> <alpine.LFD.2.00.1010221251120.4707@jlentini-linux.nane.netapp.com> <4CD1DFE4.1060004@oracle.com> <20101104193632.GX6536@oracle.com> <alpine.LFD.2.00.1011051500050.14303@jlentini-linux.nane.netapp.com> <20101105205132.GP6536@oracle.com> <AANLkTi=octHZF_Cf0kqbfoL78jOTCfmq_pYDoMW1B2Pr@mail.gmail.com>
User-Agent: Alpine 2.00 (LFD 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="1628050704-70273939-1289231173=:14303"
Content-ID: <alpine.LFD.2.00.1011081046190.14303@jlentini-linux.nane.netapp.com>
Cc: nfsv4@ietf.org
Subject: Re: [nfsv4] Last call for NSDB Protocol for Federated Filesystems (Oct 4 - Oct 22nd)
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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: Mon, 08 Nov 2010 16:06:31 -0000


On Fri, 5 Nov 2010, Daniel Ellard wrote:

> On Fri, Nov 5, 2010 at 4:51 PM, Nicolas Williams
> <Nicolas.Williams@oracle.com> wrote:
> > On Fri, Nov 05, 2010 at 03:15:16PM -0400, James Lentini wrote:
> >> On Thu, 4 Nov 2010, Nicolas Williams wrote:
> >> > I think we should pre-define an attribute for back pointers, as that
> >> > seems valuable even though it's unreliable.
> >>
> >> There isn't interest in this across vendors.
> >
> > But is that the test of whether a feature should in a Proposed Standard?
> >
> > The test for a Standard is that any given feature must have two or more
> > interoperable implementations, but this being a Proposed Standard the
> > actual rule is more relaxed.
> >
> > I think a free-for-all annotation is much too likely to result in
> > interoperability problems.  A rule that "there must be enough interest
> > across implementors" is not at all helpful if it leads to ad-hoc
> > solutions.  The WG needs a happy middle.
> 
> I'm the person who initially proposed annotations, and their purpose
> (as originally conceived, anyway) was to provide an ad-hoc way to
> extend the protocol, while it was at the I-D stage, until we nailed
> things down.  The idea was that if there was any annotation whose
> value was widely recognized (at least to the point of standardization
> discussion) then that annotation should be given its own field and
> made part of the standard, rather than left as an ad-hoc field.  That
> was nearly three years ago, and I think things have been nailed down
> sufficiently since then so that the requirements are fulfilled by the
> other fields.  If I'm wrong about that--and there are annotations that
> people have determined to be valuable enough so that this field is
> needed in order to deploy working systems--then maybe we should begin
> discussing folding them into the protocol.  (or maybe that discussion
> is already happening--I've been out of the loop for a while)

Thank you for the background Dan. It helps frame the discussion.

Rob has a specific use for the fedfsAnnotation attribute (mountpoint 
backpointers), so the fedfsAnnotation attribute can't be eliminated 
without adding an attribute for mountpoint backpointers to the 
specification. If a "fedfsMountpoint" attribute was included in the 
MAY list for the FSN and FSL object, it would have the same semantics 
as the fedfsAnnotation attribute does now: it would be part of the 
base schema and available to implementations that wanted to use it, 
but not required to create an FSN or FSL entry. That seems reasonable 
to me, provided we've identified all the uses for the fedfsAnnotation 
attribute.

> On the other hand, if the main reason to have this field is as a
> loophole for adding new features in the future, without making those
> features part of the standard, then I think it should be removed.  If
> we have to make a version 2 of the protocol because we later realize
> that we forgot something essential, I'd rather start with a new I-D
> than have to deal with ad-hoc, incompatible extensions to version 1.

As Nico suggested, one approach to preventing incompatible extensions 
would be an IANA-maintained registry of annotation keys. I'm not 
certain of how such a registry would function, but I suspect it would 
only prevent namespace collisions. In other words, the registry should 
prevent two different definitions of the annotation key "foo", but 
would it detect that annotation key "foo" and annotation key "bar" 
implemented overlapping ideas?