Re: [nfsv4] rfc5667bis open issues
David Noveck <davenoveck@gmail.com> Fri, 23 September 2016 00:51 UTC
Return-Path: <davenoveck@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 2EC8B12B8F1 for <nfsv4@ietfa.amsl.com>; Thu, 22 Sep 2016 17:51:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham 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 hf0IKwKwGTn3 for <nfsv4@ietfa.amsl.com>; Thu, 22 Sep 2016 17:51:48 -0700 (PDT)
Received: from mail-oi0-x236.google.com (mail-oi0-x236.google.com [IPv6:2607:f8b0:4003:c06::236]) (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 1D4DC12B559 for <nfsv4@ietf.org>; Thu, 22 Sep 2016 17:51:48 -0700 (PDT)
Received: by mail-oi0-x236.google.com with SMTP id t83so117868106oie.3 for <nfsv4@ietf.org>; Thu, 22 Sep 2016 17:51:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=UDEOAM4auF+gKxuo3AUCbWgkIxdmXHoVu7rXxpYCIio=; b=uaHlI10vMoUx2ItYZrZMqEQAszobgKkxgQHAOQK2R4ccimScyVxf7n1kELQDt4WD0X FaYm5JcAargDe62bPRb5UHP1iGG2pVeNro9ixiGun6OYK0YaqmAvEB/qALMjW8V/IoTt KcznIEqrQpwCgpMkap9KNL4aSah2LrC/RCabe6YDNFQG61+5CvbWdBo7r52KWtYKkaPh n2FsXFipbJkLIXiwnzITDlQ9TdpQFbW9NhMAMmyl4L5xpf5GjyM5OCGGofHq9YaT3TK5 pYCKplKfcHcdqjX2n8SKGXf8EJTD/yRF3dJuB/0M5B1aUaaNrlYt6JEHSko7yo7I7xsu rFKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=UDEOAM4auF+gKxuo3AUCbWgkIxdmXHoVu7rXxpYCIio=; b=X1nlL0PWscRAcGBOsBy4ydYoE42ziSo7am4s2rzpBarz8f7JZHO3gQBA21fTiBjIEL cy2B2OjoNMiPyP46yLaD7bJZ38oTkGIaq+GuqdMG0r2ZYvyqCpsgGfJ8tF72vS1wKUmE CcdE+cvG1KzlaLmCSyqRExyHGwvB5KBXbOiRwqsqZOL4FNt5fIf2mx6bbO9iEWQFE/D4 2t+niKMU+8SrYyLDwPlfrs1qmwCh6EffndssoOft6qMAQ9v/PNc5JgzAFqrjcSyw6V0V FvVYB7w/dvOCvrEzCDkUXgS/PBotEnS9BGK6cTvJMTJ1n5kA+Yda46DmYw7C60IMpZRA bsdg==
X-Gm-Message-State: AE9vXwPc8GkXIjt67bI/XLhE0ttWXJSAnNAOijW6oU/NkuHoYGFDb3N8zZ9H/2daWQEEf99hDjoAxKR3jY8yZQ==
X-Received: by 10.202.192.5 with SMTP id q5mr6206743oif.71.1474591907365; Thu, 22 Sep 2016 17:51:47 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.192.10 with HTTP; Thu, 22 Sep 2016 17:51:46 -0700 (PDT)
In-Reply-To: <65E80EDE-6031-4A83-9B73-3A88C91F8E6A@oracle.com>
References: <15F62327-B73F-45CF-B4A5-8535955E954F@oracle.com> <65E80EDE-6031-4A83-9B73-3A88C91F8E6A@oracle.com>
From: David Noveck <davenoveck@gmail.com>
Date: Thu, 22 Sep 2016 20:51:46 -0400
Message-ID: <CADaq8jc50Ca6eDZ3D6zRvfG+Q2DngNN6+mN9WKXj9AS=d1iQVg@mail.gmail.com>
To: Chuck Lever <chuck.lever@oracle.com>
Content-Type: multipart/alternative; boundary="001a113dddfad3d248053d222eac"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/HxsaIHxKioliXRS0MyrSg0TVhTI>
Cc: NFSv4 <nfsv4@ietf.org>
Subject: Re: [nfsv4] rfc5667bis open issues
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: Fri, 23 Sep 2016 00:51:50 -0000
> Does this count as a dropped RPC reply, such that an NFSv4 server > would have to drop the connection? I don't see any reason why it should. Apart from RPC-over-RDMA, does this apply to other XDR decode issues on the server? After all, it is getting a reply, even if the content is essentially "I don't understand the request." > When an NFS server returns one of these responses, does it > have to enter the reply in its DRC ? I should hope not. The purpose of the DRC is to prevent repeated execution of non-idempotent requests. A request that you can't decode does not change any state on the server. > What if any implications are there for an NFSv4.1 session > (slot retired? ignored?) Why does this have to have to be addressed in 5667bis? I don't see why XDR decode errors need to be addressed differently in the RPC-over-RDMA case. > The current text of rfc5666bis (Section 5.3.2) suggests that when > multiple Write chunks are provided for an RPC, and the responder > doesn't use one of them, it should use that chunk for the next > DDP-eligible XDR data item. It does say that and the treatment there is limited to the case of multiple write chunks. The treatment for the analogous case when there is a single write chunk is addressed in 4.4.6.2. Th treatment is the same: each DDP-eligible item is matched with the first available write chunk until either there are no more write chunks or no more DDP-eligible items in the reply. > The problematic text is actually this part of rfc5666bis: I don't see why this is described as "problematic". Is there a suggestion that we might change this text to something less problematic? I don't see how to do that. I believe we should leave the text as it is. Within Version One, there is no way to tie write chunks to particular DDP-eligible items. While one might think of that as a problem it is not one that can be addressed in Version One or in rfc5667bis. On Thu, Sep 22, 2016 at 6:36 PM, Chuck Lever <chuck.lever@oracle.com> wrote: > > > On Sep 22, 2016, at 3:10 PM, Chuck Lever <chuck.lever@oracle.com> wrote: > > > > I'm preparing a new revision of rfc5667bis, and a couple of issues have > > arisen: > > > > 1. Reporting RPC-over-RDMA decoding errors on NFSv4 > > > > The current text says the NFS server can return an RPC GARBAGE_ARGS > > reply, or an RPC-over-RDMA level ERR_CHUNK reply. > > > > Does this count as a dropped RPC reply, such that an NFSv4 server > > would have to drop the connection? > > > > When an NFS server returns one of these responses, does it have to > > enter the reply in its DRC ? What if any implications are there for > > an NFSv4.1 session (slot retired? ignored?) > > > > > > 2. Skipping Write chunks in an NFSv4 COMPOUND > > > > The current text of rfc5666bis (Section 5.3.2) suggests that when > > multiple Write chunks are provided for an RPC, and the responder > > doesn't use one of them, it should use that chunk for the next > > DDP-eligible XDR data item. > > The problematic text is actually this part of rfc5666bis: > > 4.4.6.2. Unused Write Chunks > > There are occasions when a requester provides a Write chunk but the > responder is not able to use it. > > For example, an Upper Layer Protocol may define a union result where > some arms of the union contain a DDP-eligible data item while other > arms do not. The responder is REQUIRED to use requester-provided > Write chunks in this case, but if the responder returns a result that > uses an arm of the union that has no DDP-eligible data item, the > Write chunk remains unconsumed. > > If there is a subsequent DDP-eligible data item, it MUST be placed in > that unconsumed Write chunk. The requester MUST provision each Write > chunk so it can be filled with the largest DDP-eligible data item > that can be placed in it. > > > > This could be a problem for READ_PLUS. The client has no way of > > predicting whether the server will return a CONTENT_DATA arm (which > > would consume a Write chunk) or a CONTENT_HOLE arm (which would not). > > > > I think a better approach would be for the binding to specify that > > if a Write chunk is provided for a READ_PLUS operation, the server > > consumes that chunk: > > > > - by returning CONTENT_DATA in that chunk > > > > - by returning an empty chunk for CONTENT_HOLE > > > > If the client provides an empty chunk in that position, the > > READ_PLUS result is returned inline. > > > > Opinions? > > -- > Chuck Lever > > > > _______________________________________________ > nfsv4 mailing list > nfsv4@ietf.org > https://www.ietf.org/mailman/listinfo/nfsv4 >
- [nfsv4] rfc5667bis open issues Chuck Lever
- Re: [nfsv4] rfc5667bis open issues Chuck Lever
- Re: [nfsv4] rfc5667bis open issues David Noveck
- Re: [nfsv4] rfc5667bis open issues Chuck Lever
- Re: [nfsv4] rfc5667bis open issues David Noveck
- Re: [nfsv4] rfc5667bis open issues Chuck Lever
- Re: [nfsv4] rfc5667bis open issues Chuck Lever
- Re: [nfsv4] rfc5667bis open issues David Noveck
- Re: [nfsv4] rfc5667bis open issues Chuck Lever