Re: [nfsv4] draft-haynes-nfsv4-versioning-01

"J. Bruce Fields" <bfields@fieldses.org> Thu, 23 October 2014 15:29 UTC

Return-Path: <bfields@fieldses.org>
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 17D6C1AC3E8 for <nfsv4@ietfa.amsl.com>; Thu, 23 Oct 2014 08:29:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 tZ6mKC5UQgwM for <nfsv4@ietfa.amsl.com>; Thu, 23 Oct 2014 08:29:25 -0700 (PDT)
Received: from fieldses.org (fieldses.org [174.143.236.118]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 53D221AC3D2 for <nfsv4@ietf.org>; Thu, 23 Oct 2014 08:29:25 -0700 (PDT)
Received: from bfields by fieldses.org with local (Exim 4.76) (envelope-from <bfields@fieldses.org>) id 1XhKKK-0005HG-Bo; Thu, 23 Oct 2014 11:29:24 -0400
Date: Thu, 23 Oct 2014 11:29:24 -0400
To: Benny Halevy <bhalevy@primarydata.com>
Message-ID: <20141023152924.GB16717@fieldses.org>
References: <896EE07C-552B-412C-B30E-85A223AAA6B2@primarydata.com> <CAEMWVhsYYTxbw44C+oOmyWTCiMbCf_yOebTBWv0z2W6YHrChSg@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAEMWVhsYYTxbw44C+oOmyWTCiMbCf_yOebTBWv0z2W6YHrChSg@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
From: "J. Bruce Fields" <bfields@fieldses.org>
Archived-At: http://mailarchive.ietf.org/arch/msg/nfsv4/7do31SzmW_-zAGbC42-3QXzMEYA
Cc: NFSv4 <nfsv4@ietf.org>
Subject: Re: [nfsv4] draft-haynes-nfsv4-versioning-01
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, 23 Oct 2014 15:29:30 -0000

On Thu, Oct 23, 2014 at 09:18:26AM +0300, Benny Halevy wrote:
> On Thu, Oct 23, 2014 at 7:08 AM, Tom Haynes
> <thomas.haynes@primarydata.com> wrote:
> >
> > So this looks good to go with only two open items for me:
> >
> > 1) Are new operations assigned by IANA or by publishing a draft?
> >
> > Actually Christoph’s observation, but there seems to be controversy here. :-)
> >
> > 2) With respect to callbacks:
> >
> >    o  New callbacks will only be sent to clients that have used the new
> >       features associated with them, allowing existing clients to be
> >       unaware of their existence.
> >
> > What if the new feature is only implemented with callbacks?
> >
> > I.e., clients have to be able to respond with not supported as well.
> 
> Why wouldn't they be able to respond with "not supported"?
> Even today some callbacks are (feature) optional, e.g. CB_NOTIFY_DEVICEID

If they implemented only part of a minor version then they may not even
know the callback number is assigned in which case they'll return
NFS4ERR_OP_ILLEGAL.

Not necessarily a problem I guess as long as the server is prepared to
do the same fallback in the ILLEGAL case that it would in the NOTSUPP
case?

Ditto for forechannel operations.

And in the case of attributes INVAL might be returned in cases where we
might expect ATTRNOTSUPP (or just the relevant bits cleared from the
bitmap)?

We may need to go through the various ways of extending the protocol
listed in

	https://tools.ietf.org/html/draft-ietf-nfsv4-minorversion2-27#section-2

with an eye towards the case where the extension is something the client
or server doesn't even know the existance of or xdr for.

"adding cases to a switched union" needs some care: e.g. if we added
this to a server reply without some kind of client opt-in then the
client could be left unable to parse the result.  #4 makes it appear
this was intended only for arguments, not replies?

--b.