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

Trond Myklebust <trondmy@gmail.com> Mon, 31 October 2016 17:57 UTC

Return-Path: <trondmy@gmail.com>
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 1BE7B12997B for <nfsv4@ietfa.amsl.com>; Mon, 31 Oct 2016 10:57:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.699
X-Spam-Level:
X-Spam-Status: No, score=-1.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, FREEMAIL_REPLY=1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 UJrGfORXAWsJ for <nfsv4@ietfa.amsl.com>; Mon, 31 Oct 2016 10:57:44 -0700 (PDT)
Received: from mail-yw0-x22e.google.com (mail-yw0-x22e.google.com [IPv6:2607:f8b0:4002:c05::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F3566129978 for <nfsv4@ietf.org>; Mon, 31 Oct 2016 10:57:43 -0700 (PDT)
Received: by mail-yw0-x22e.google.com with SMTP id t125so8994333ywc.1 for <nfsv4@ietf.org>; Mon, 31 Oct 2016 10:57:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=hcOY+z53fx2MP6uVftOYL+0ap5hLjuaUlFMeJJoUkPw=; b=gSuA4X0Soqhi2rbFIrXR7FQPgkS3c9R44R5pGAwL6fSyJoSfmUQDmetfo5owV5NIWm QLnMENjrEH77xTYKddf81EpjETxR4VPgoLL0KgF8o53dqIvj+AJ/VhOc4uIIjFs+SKj3 J/KFzFxxI+E8PORFLzErN8VerXpxwu+UAOzYIRUp5MM8oTE8qHLHXPmRtR7pd1k+bfOr eaE5Fznb+hDnW9dk7k2Ssd58/r/8snZLfyr4hobgupj2OZJB9x6SAYl62PfCk9+DiJwi opbzWql0IpmvoudUSEm+1HyRY+JUcXrCrTNoikGVUx7bT9Z0FtCi42hICneAAdM9uF+7 YM8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=hcOY+z53fx2MP6uVftOYL+0ap5hLjuaUlFMeJJoUkPw=; b=QYwsbVr3Mzq0qwQJHxp2vO4G2FFdH9m9gwgU+UPwkuoFWZoXzE2jMqkNmuAyblCtHg Hj3WVhFfLj22RBSADUGb1x9fGY/hJabgW5sE8bg4GapPIlxmGhiBD+nZ8IBdgY5axMhj Zvfj4X+oev6g/Jd2hls4iHLoZFloJk5WVtNERUG5eONpAu1lBEAcyOcAexEkUo8qS+N1 VfP6NCGYLVgG7lKvWYJQVjXtpBKk7yla02xK1fzWrdcax5GeGkNXNoGD7+YVrKqTyrnk LjBVwR6Z8r/vSPsGvtaCQt7fhL4M/O67Ygg0d2bxJfbgxpFaNkMLPWICw0tkVAYTaGbG DxoA==
X-Gm-Message-State: ABUngvee8Eg3NINn+rFSw33L1ttP/0SxgVcD/rcY5dLmOy4riVdM+tdTZG4G52KoD+1rHw==
X-Received: by 10.107.46.25 with SMTP id i25mr7804093ioo.145.1477936662674; Mon, 31 Oct 2016 10:57:42 -0700 (PDT)
Received: from tronds-mbp.lan ([50.124.59.220]) by smtp.gmail.com with ESMTPSA id 185sm10768199iof.29.2016.10.31.10.57.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 31 Oct 2016 10:57:41 -0700 (PDT)
From: Trond Myklebust <trondmy@gmail.com>
Message-Id: <01312C48-0018-4F77-A6E1-12B55C03B011@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_B45D48C6-AC45-4AA3-8DBE-18C03F86B636"
Mime-Version: 1.0 (Mac OS X Mail 10.1 \(3251\))
Date: Mon, 31 Oct 2016 13:57:40 -0400
In-Reply-To: <CADaq8jfdUr5Qc2xfWafqYFUAN2bh00d7Nch_SaJt_nHbEM3izA@mail.gmail.com>
To: Noveck Dave <davenoveck@gmail.com>
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>
X-Mailer: Apple Mail (2.3251)
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/6SdIrrBq5OIirqeCW5xEeiKFx6s>
Cc: Fields Bruce James <bfields@fieldses.org>, 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 17:57:46 -0000

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

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.


> 
> On Sun, Oct 30, 2016 at 10:04 PM, J. Bruce Fields <bfields@fieldses.org <mailto:bfields@fieldses.org>> wrote:
> On Fri, Oct 28, 2016 at 08:29:26AM -0400, David Noveck wrote:
> > l've looked at how bit flags are dealt with in -07 and believe that enum
> > extensions can be dealt with similarly.
> > They are both constructs where  the generated XDR code does not check for
> > validity and thus they raise similar issues.
> >
> > In reviewing the treatment, I have found  few gap in the treatment of bit
> > flags.  Those need to be fixed and I expect that the handling of enum
> > extensions will be parallel:
> >
> >    - There is no discussion of adding bit flags in existing responses.
> >    Instead, it should be made explicit that doing this would require a new
> >    minor version.
> 
> So, that rules out adding attributes?  (Since you'd have to return new
> bits in the supported_attribute attribute).
> 
> --b.
> 
> >    - There is no explicit discussion of the fact that, for these additions,
> >    the interest cannot be distinguish between an unknown bit flag and one
> >    which is known but unsupported.  This can have implication for how the
> >    client and server decide on a common XDR variant.  I'd hope that this issue
> >    can treated in a way that allows a future minor version to better address
> >    the issue by  reorganizing error codes.  My preference would be for
> >    preservng NFS4ERR_INVAL as indicating an unknown bit/enum, while allowing
> >    future versions to address unsupported stuff in a way analogous that Tom
> >    did for switches in v4.2, i.e. by creating NFS4ERR_FLAGBIT_NOTSUPP and
> >    NFS4ERR_ENUMVAL_NOTSUPP.
> >
> >
> > On Thu, Oct 27, 2016 at 2:22 PM, Mike Kupfer <mike.kupfer@oracle.com <mailto:mike.kupfer@oracle.com>> wrote:
> >
> > > David Noveck <davenoveck@gmail.com <mailto:davenoveck@gmail.com>> writes:
> > >
> > > > Regarding extending enums, it is true that -07 seems to allow this
> > > without
> > > > saying how to mange it in general.  It  only discusses expanding switches
> > > > and provides specific rules regarding error codes, operation codes, and
> > > > attribute numbers.
> > > >
> > > > The real problem with allowing general enum extensions is that XDR
> > > > implementations do not check that the values in the fields are valid.
> > > As a
> > > > result, you cannot test that the responder knows about the new values by
> > > > issuing a request containing the new value, as you can with extensions to
> > > > switches.
> > >
> > > Well, there won't be a check at the RPC layer.  But presumably the NFS
> > > layer would return something like NFS4ERR_INVAL if it's given a value it
> > > doesn't know about.
> > >
> > > > As a result, enum fields are essentially ints, and the restriction to the
> > > > values listed in the XDR file is much like an in-spec-text restriction
> > > > regarding the contents of that particular field. I think the spec should
> > > > make clear it that changing the set of allowed values requires a new
> > > minor
> > > > version.
> > >
> > > I'm okay with narrowing the scope of what an extension can do.  But if
> > > we require a minor version bump to change the set of allowed values for
> > > an enum, we should do the same for the general case of flag words.  (New
> > > attributes could still be added via an extension.)
> > >
> > > mike
> > >
> 
> > _______________________________________________
> > nfsv4 mailing list
> > nfsv4@ietf.org <mailto:nfsv4@ietf.org>
> > https://www.ietf.org/mailman/listinfo/nfsv4 <https://www.ietf.org/mailman/listinfo/nfsv4>
> 
> 
> _______________________________________________
> nfsv4 mailing list
> nfsv4@ietf.org
> https://www.ietf.org/mailman/listinfo/nfsv4