Re: [nfsv4] [Technical Errata Reported] RFC5661 (5982)

Trond Myklebust <trondmy@gmail.com> Thu, 13 February 2020 17:45 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 1B61A120168 for <nfsv4@ietfa.amsl.com>; Thu, 13 Feb 2020 09:45:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, 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 MU9Q2hBC2HbN for <nfsv4@ietfa.amsl.com>; Thu, 13 Feb 2020 09:45:19 -0800 (PST)
Received: from mail-io1-xd41.google.com (mail-io1-xd41.google.com [IPv6:2607:f8b0:4864:20::d41]) (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 52C581200C3 for <nfsv4@ietf.org>; Thu, 13 Feb 2020 09:45:19 -0800 (PST)
Received: by mail-io1-xd41.google.com with SMTP id i11so7384191ioi.12 for <nfsv4@ietf.org>; Thu, 13 Feb 2020 09:45:19 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=fUzofzsWpzIXfTzhpSyebzSkEoi/9aGSo7UaSRFOUS4=; b=VoBAaK3gkaYbK75pR7dhFHSSIyJF+33Ab+4U5CHBDI2Hgflmv/ifx3SR3zW/z71WOS lKKw4TnjILzqonq0D228OS5JnoLczTxb30AOQJAsTR07tOPnwY2reKYJP30hy/T7v1XB IPPsZOEkkHHgZjgzogjIAx8Sj/viagi85CEmLDXBtc+sLXxEXox77mh0xRAjcgWiLsHl 0b/tovd1p9WrnNWQWi5kZshD4F8ke6mjrTOW90am00HFe0Xg5LzNi/glP/ntomA0joxV fdqtAneCGY5sIHy8+BZajf/OQCldtN1LVEJLpQZLyWj3RjJYnlKzcTSvYDG2DKCGfsVm brWA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=fUzofzsWpzIXfTzhpSyebzSkEoi/9aGSo7UaSRFOUS4=; b=Passn3jhxDCbd3Z7UaDw3+egPnd1F5dYSvA6Ex17pqdItwaCaLlbXjGQcPvU2tuOqF HOypcOzjtfkJ8BWNHRd9c/gwoqlS8CH2YieDzvh+9igHo/zH39oKnOz/ttyaJmXLvxuK AQetK+n0TBNas/fK0IIQAOtIJBDN1z8D/D6f3PAYB6f0alzxMFaAxfve+UCwYAnvgdnE MqFrRmlmDdJIjLYsVZVjUI7iyJqZoJrLPidL9z7MyPqMO4A+uU2dR9eWZaX7srKs6rFi Zx0Bp2+rNTwSxqNSG0R+BVotH6lmYLdPZH5zi+Lvl0ZSVSatMXDsal/JfINDRxZyHzos qVPw==
X-Gm-Message-State: APjAAAWElVSusdt5sGyAN6QksMMV0D5HY1k209agF05iZP3NlPznxwTF BQI8etsLv/RGXyWn8L3S5Wdq/sVzGM1gObQqwA==
X-Google-Smtp-Source: APXvYqwjmP4+opAbXpxzliPOK4nrO0gTK710vgZBVaW8lOma9tQ3Boh1wLFVwa2j5R6T3+e06lRXuCPUCyl7574udqc=
X-Received: by 2002:a5d:8790:: with SMTP id f16mr22012525ion.246.1581615918538; Thu, 13 Feb 2020 09:45:18 -0800 (PST)
MIME-Version: 1.0
References: <20200213155737.DAC4FF406F2@rfc-editor.org>
In-Reply-To: <20200213155737.DAC4FF406F2@rfc-editor.org>
From: Trond Myklebust <trondmy@gmail.com>
Date: Thu, 13 Feb 2020 12:45:07 -0500
Message-ID: <CAABAsM6uUjrvOauaihF-h9jzXAF_egudn1qdOEThnq5tQfpAoQ@mail.gmail.com>
To: RFC Errata System <rfc-editor@rfc-editor.org>
Cc: shepler@storspeed.com, Michael R Eisler <mike@eisler.com>, Dave Noveck <dnoveck@netapp.com>, ietf@kuehlewind.net, Magnus Westerlund <magnus.westerlund@ericsson.com>, Brian Pawlowski <beepee@gmail.com>, Dave Noveck <davenoveck@gmail.com>, "nfsv4@ietf.org" <nfsv4@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/qnvjYBnd8OmKmty8xDbJo2xjl_4>
Subject: Re: [nfsv4] [Technical Errata Reported] RFC5661 (5982)
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.29
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: Thu, 13 Feb 2020 17:45:22 -0000

On Thu, 13 Feb 2020 at 11:19, RFC Errata System
<rfc-editor@rfc-editor.org> wrote:
>
> The following errata report has been submitted for RFC5661,
> "Network File System (NFS) Version 4 Minor Version 1 Protocol".
>
> --------------------------------------
> You may review the report below and at:
> https://www.rfc-editor.org/errata/eid5982
>
> --------------------------------------
> Type: Technical
> Reported by: David Noveck <davenoveck@gmail.com>
>
> Section: 2.10.6.1.3.1
>
> Original Text
> -------------
>    If a requester sent a Sequence operation with a slot ID and sequence
>    ID that are in the reply cache but the replier detected that the
>    retried request is not the same as the original request, including a
>    retry that has different operations or different arguments in the
>    operations from the original and a retry that uses a different
>    principal in the RPC request's credential field that translates to a
>    different user, then this is a false retry.  When the replier detects
>    a false retry, it is permitted (but not always obligated) to return
>    NFS4ERR_FALSE_RETRY in response to the Sequence operation when it
>    detects a false retry.
>
> Corrected Text
> --------------
>    If a requester sent a Sequence operation with a slot ID and sequence
>    ID that are in the reply cache but the replier detected that the
>    retried request is not the same as the original request, including a
>    retry that was issued with a different XID or has different operations

The XID requirement is a new one, and is significant on the wire
change for clients. It puts us back in the distasteful situation we
had in NFSv3 where we mix RPC level and NFS level semantics. In
particular it is problematic in the multi-path failover case, where we
want to replay the NFS COMPOUND on a different RPC transport after the
first path failed: XIDs are per-transport in the Linux client.

>    or different arguments in the operations from the original and a retry
>    that uses a different principal in the RPC request's credential field
>    that translates to a different user, then this is a false retry.  When
>    the replier detects a false retry, it is permitted (but not always
>    obligated) to return NFS4ERR_FALSE_RETRY in response to the Sequence
>    operation when it detects a false retry
>
> Notes
> -----
> The existing text can be read as requiring checksumming of all requests to foreclose the possibility of not noticing a false retry, which can result in data corruption.  This can be a
> significant performance consideraation in the processing of WRITE requests and could undercut the benefits of directly placing data to be written which is one of the impotant goals of RPC-over-RDMA.
>
> Instructions:
> -------------
> This erratum is currently posted as "Reported". If necessary, please
> use "Reply All" to discuss whether it should be verified or
> rejected. When a decision is reached, the verifying party
> can log in to change the status and edit the report, if necessary.
>
> --------------------------------------
> RFC5661 (draft-ietf-nfsv4-minorversion1-29)
> --------------------------------------
> Title               : Network File System (NFS) Version 4 Minor Version 1 Protocol
> Publication Date    : January 2010
> Author(s)           : S. Shepler, Ed., M. Eisler, Ed., D. Noveck, Ed.
> Category            : PROPOSED STANDARD
> Source              : Network File System Version 4
> Area                : Transport
> Stream              : IETF
> Verifying Party     : IESG
>
> _______________________________________________
> nfsv4 mailing list
> nfsv4@ietf.org
> https://www.ietf.org/mailman/listinfo/nfsv4