Re: [nfsv4] feedback on draft-ietf-nfsv4-versioning-07

Fields Bruce James <bfields@fieldses.org> Mon, 31 October 2016 21:08 UTC

Return-Path: <bfields@fieldses.org>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 05EF01299A5 for <nfsv4@ietfa.amsl.com>; Mon, 31 Oct 2016 14:08:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.399
X-Spam-Level:
X-Spam-Status: No, score=-3.399 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-1.497, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 RzWvBhX7e32U for <nfsv4@ietfa.amsl.com>; Mon, 31 Oct 2016 14:08:17 -0700 (PDT)
Received: from fieldses.org (fieldses.org [173.255.197.46]) by ietfa.amsl.com (Postfix) with ESMTP id 1BA91129B22 for <nfsv4@ietf.org>; Mon, 31 Oct 2016 14:08:04 -0700 (PDT)
Received: by fieldses.org (Postfix, from userid 2815) id 94F68A9D; Mon, 31 Oct 2016 17:08:04 -0400 (EDT)
Date: Mon, 31 Oct 2016 17:08:04 -0400
From: Fields Bruce James <bfields@fieldses.org>
To: Trond Myklebust <trondmy@gmail.com>
Message-ID: <20161031210804.GA17349@fieldses.org>
References: <ote01sz4f8tk.fsf@athyra-vm1.us.oracle.com> <CADaq8jcSUO5rkf-4+njbk-O0Fv5gTedTRZnceVJRdz1T4zyH1Q@mail.gmail.com> <ote0oa2668pg.fsf@jurassic.us.oracle.com> <CADaq8jcOwbdc8O7am+tSdpa9hFDFfc5ULkM1qhOt9HPn7m-Ujw@mail.gmail.com> <ote0a8dp8xel.fsf@jurassic.us.oracle.com> <CADaq8jdfjLQz2YxLAROmLK5V5-BMjuHaABeic7mKmfZDtWBn=g@mail.gmail.com> <20161031020435.GC5869@fieldses.org> <CADaq8jfdUr5Qc2xfWafqYFUAN2bh00d7Nch_SaJt_nHbEM3izA@mail.gmail.com> <01312C48-0018-4F77-A6E1-12B55C03B011@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <01312C48-0018-4F77-A6E1-12B55C03B011@gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/7798kb8vtOeiEtsJUqQ2y-gbbIA>
Cc: List IETF NFSv4 WG Mailing <nfsv4@ietf.org>
Subject: Re: [nfsv4] feedback on draft-ietf-nfsv4-versioning-07
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.17
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: <https://mailarchive.ietf.org/arch/browse/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, 31 Oct 2016 21:08:19 -0000

On Mon, Oct 31, 2016 at 01:57:40PM -0400, Trond Myklebust wrote:
> 
> > On Oct 31, 2016, at 13:25, David Noveck <davenoveck@gmail.com>
> > wrote:
> > 
> > > So, that rules out adding attributes?  
> > 
> > No it doesn't.
> > 
> > > (Since you'd have to return new bits in the supported_attribute
> > > attribute).
> > 
> > I said adding "bit flags" and I think that means a new definition of
> > a previously unknown flag bit.
> > 
> > Each bit in the bit mask of supported attribute already has a
> > definition and when I write the text, I'll make sure that it is
> > clear that expanding supported_attrs is not going to change that
> > For example bit 128 means the server supports attribute 128.  The
> > further information regarding what attribute that is would be
> > provided by the extension that defines attribute 128, the effect of
> > which is already clear.  The point is that the client who does not
> > know about attribute 128 is not going to puzzle over this new bit.
> > He knows it indicates that the server supports some attribute he
> > doesn't know about.

That's a subtle distinction.  I'm not sure I completely understand the
rationale.  So adding a new attribute flag is OK, but e.g. a new open
result flag is out?  Are you judging that a client is more likely to
give up and throw an EIO on an unknown open result flag than on an
unknown attribute flag?

Personally I'd put my money on the attribute case being more likely, if
only because it's variable-length and, as Trond says, we've actually
seen bugs here before in practice.

> One thing to note is that we’ve had issues before where both clients
> and servers have been known to assume things about the maximum size of
> the bitmaps being returned.

I wasn't too worried about this kind of thing when I thought we were
just talking about allowing new minorversions to be extensible, or maybe
opening up 4.2 in retrospect, but extending 4.0 this way makes me
nervous.

Bugs happen, and we fix them, but the older the protocol the more likely
there's old implementations out there that aren't getting much
maintenance.  I don't know.

--b.