[nfsv4] [Technical Errata Reported] RFC7862 (9244)
rfc-editor@rfc-editor.org Tue, 27 October 2026 22:49 UTC
Received: by mx.ietf.org (Postfix) id 85FAB46; Tue, 27 Oct 2026 22:49:04 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rfc-editor.org; s=mail; t=1793141344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AZBwJPavJwk5xWaTU7WdOtZIcqgRWWEpE5QHFIdvZEM=; b=RQxzadD7w3FUkleXKNOdpRG/DY08BHIuyjNCR/HDlg7kNIjuI3lgyOQhKXJK+W+qQDiInD kpMhZMX3ju5icZhB5uEK1LnRCDa/3GN5UNfA+xlPmAJM+gMytfODoX1SvdO3PAjOwnTFQ7 OHzKas0Am9RKU3YltGjqpzWWOOadeV4=
Authentication-Results: ORIGINATING; auth=pass smtp.auth=mail2@ietf.org smtp.mailfrom=rfc-editor@rfc-editor.org
Received: from errata-celery-6f84c7996-wb2x7 (gaia.k8s.ietf.org [4.156.85.76]) by mail2.ietf.org (Postfix) with ESMTP id 48A7013B2971E; Tue, 27 Oct 2026 15:49:04 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: rfc-editor@rfc-editor.org
To: loghyr@gmail.com, gorry@erg.abdn.ac.uk, spencerdawkins.ietf@gmail.com, spencer.shepler@gmail.com, mbishop@evequefou.be
Date: Tue, 27 Oct 2026 22:49:04 -0000
message-id: <179314134418.15.1059493668091857298@rfc-editor.org>
Message-ID-Hash: NA4ZA25TZKFPNCD7OPUYBQEGIFSGQLJI
X-Message-ID-Hash: NA4ZA25TZKFPNCD7OPUYBQEGIFSGQLJI
X-MailFrom: rfc-editor@rfc-editor.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-nfsv4.ietf.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: rfc-editor@rfc-editor.org, ben.coddington@hammerspace.com, nfsv4@ietf.org
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [nfsv4] [Technical Errata Reported] RFC7862 (9244)
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/hBAcnAvXbveyAl3F39mKo0wPAik>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Owner: <mailto:nfsv4-owner@ietf.org>
List-Post: <mailto:nfsv4@ietf.org>
List-Subscribe: <mailto:nfsv4-join@ietf.org>
List-Unsubscribe: <mailto:nfsv4-leave@ietf.org>
The following errata report has been submitted for RFC7862, "Network File System (NFS) Version 4 Minor Version 2 Protocol" -------------------------------------- You may review the report below and at: https://errata.rfc-editor.org/eid9244/ -------------------------------------- Type: Technical Reported by: Benjamin Coddington <ben.coddington@hammerspace.com> Section 14.2.3 says: Original Text ------------- 14.2.3. MOTIVATION The GETDEVICELIST operation was introduced in [RFC5661] specifically to request a list of devices at file system mount time from block layout type servers. However, the use of the GETDEVICELIST operation introduces a race condition versus notification about changes to pNFS device IDs as provided by CB_NOTIFY_DEVICEID. Implementation experience with block layout servers has shown that there is no need for GETDEVICELIST. Clients have to be able to request new devices using GETDEVICEINFO at any time in response to either a new deviceid in LAYOUTGET results or the CB_NOTIFY_DEVICEID callback operation. 14.2.4. DESCRIPTION Clients and servers MUST NOT implement the GETDEVICELIST operation. Corrected Text -------------- 14.2.3. MOTIVATION The GETDEVICELIST operation was introduced in [RFC5661] specifically to request a list of devices at file system mount time from block layout type servers. It is also useful to clients of layout types with many storage devices, which can use the list to establish connections to those devices before the first I/O. Clients still have to be able to request new devices using GETDEVICEINFO at any time in response to either a new deviceid in LAYOUTGET results or the CB_NOTIFY_DEVICEID callback operation. 14.2.4. DESCRIPTION GETDEVICELIST is OPTIONAL, and is as described in Section 18.41 of [RFC5661]. A GETDEVICELIST reply can race with CB_NOTIFY_DEVICEID in the same way a GETDEVICEINFO reply can, and the client handles it as described in Section 18.40.4 of [RFC5661]. Notes ----- Section 14.2.3 says GETDEVICELIST introduces a race with CB_NOTIFY_DEVICEID, but I can't find an ordering that breaks. GETDEVICELIST returns only device IDs, so a CHANGE crossing its reply has nothing to make stale. Notifications are registered per device ID by GETDEVICEINFO, and the client has no address for an ID until that GETDEVICEINFO completes. A DELETE crossing the reply is covered by the "mark the device ID as deleted" rule in RFC 5661 Section 18.40.4, which already names GETDEVICELIST, and device IDs are never reused. If an ID is deleted between the list and GETDEVICEINFO, the client just gets NFS4ERR_NOENT. We'd like the operation back for flex files clients with many data servers. Those clients pay for connection setup (TCP, and RPC-with-TLS) on the first I/O to each data server, and a device list at mount lets them do that work up front. I raised this on the nfsv4 list on 2026-10-22 and haven't had any replies: https://mailarchive.ietf.org/arch/msg/nfsv4/L1UyZH5PaZupkAGp2s6oJEfSo34/ Instructions: ------------- This erratum is currently posted as "Reported". Please use "Reply All" to discuss whether it should be verified or rejected. When a decision is reached, the verifying party will log in to change the status and edit the report, if necessary. -------------------------------------- RFC7862 (draft-ietf-nfsv4-minorversion2) -------------------------------------- Title : Network File System (NFS) Version 4 Minor Version 2 Protocol Publication Date : November 2016 Author(s) : T. Haynes Category : Proposed Standard Source : nfsv4 (wit) Stream : IETF Verifying Party : IESG