[nfsv4] AD Evaluation for draft-ietf-nfsv4-flex-files-14.txt
Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com> Tue, 07 November 2017 19:42 UTC
Return-Path: <spencerdawkins.ietf@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 5A40C132F69; Tue, 7 Nov 2017 11:42:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 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_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=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 aHfy1_txZU_K; Tue, 7 Nov 2017 11:42:30 -0800 (PST)
Received: from mail-yw0-x241.google.com (mail-yw0-x241.google.com [IPv6:2607:f8b0:4002:c05::241]) (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 641DE1321DC; Tue, 7 Nov 2017 11:42:27 -0800 (PST)
Received: by mail-yw0-x241.google.com with SMTP id t11so312298ywg.12; Tue, 07 Nov 2017 11:42:27 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=XmbiHuyUQLFrOlIoGWAVzvlXySN+wdMD5QMIMJfbllk=; b=WJJMJTWB+UqpWbKRr51/RSY+fhsF3G0qqxBQpOp52e3aX1F6x8GVcE7f+3jBWAb/57 CqYUifxvYtOmhx2gUGEAT1lljGiduZ1rI4TvmIsGY0QoDLhGlr9qOKSFfuXKDHjXl+gK 05MYnSOqaHJx+3rmp/WHsS5M7R8OZsn3MPMJB0jPdYaOB6FOl9/JYm4lsj+O+vKeYhfg UghC4W9nblzOWUTeGQ4e1Zo7FOLibL5j+JQ6mvWBXkehLSezYJxzVs3Rei8ydTfV9o5v +kIk7GjxLbfRH62ig3Pm/6ZOU2sZf4HnIu+zvF4FMkCKHiSiueG+juUcVFIWcEbhy9Id Hwrw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=XmbiHuyUQLFrOlIoGWAVzvlXySN+wdMD5QMIMJfbllk=; b=gsM/Ej5ZZFoLtAWyOuYHFUseF66jjrF+DZyaewn/LtilFyNsyKJMaB7tkIvdcyQk03 qwXQXQSobzOjZXlduGiqMCLJAFSEUmHqMhM54lm5Oy9IiEqj6BDdsvjwY6HcT4jgjHKx cV77aCysdVKsvSmSQHyFl5lO6D57aT9deXfD8bWizBNZA70gzi6bbWuOfbFf6LbCSH9o fBfXhehHbVi6qnkoXkconvkFqSm2YptHDEQ9JuiHRrnq8t+s+rXS9Nk59FDpjJkkeNFS NFuCc7YDJr9efZP3BBZXeftuZAfqMD4gq6TCfkYi4JrTnvoM8EweKkdB4Ir3TOicqGlV OpIw==
X-Gm-Message-State: AMCzsaXH6LqA9FYP+wl17jByhRbqtH0umRpPyl2/yaMca5Syt/57N2cp k+8hkZg6N9VuFgofpnhCU5e+3OcCnNzINUALAFljoA==
X-Google-Smtp-Source: ABhQp+Tr6on7FHPQCqpbnlRnmABvJork5ImjflM6kU4n651hQheQ91q1oT3Q42JZoAL2LHMNuJLWT0FG7FyjpBf6lE0=
X-Received: by 10.129.1.2 with SMTP id 2mr13363400ywb.66.1510083746039; Tue, 07 Nov 2017 11:42:26 -0800 (PST)
MIME-Version: 1.0
Received: by 10.37.162.204 with HTTP; Tue, 7 Nov 2017 11:42:25 -0800 (PST)
From: Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>
Date: Tue, 07 Nov 2017 13:42:25 -0600
Message-ID: <CAKKJt-cJTyCDtptO8NvZXznQ31O5kNn4ffh9TVgNBtioFRw7yw@mail.gmail.com>
To: draft-ietf-nfsv4-flex-files@ietf.org
Cc: nfsv4-ads@ietf.org, NFSv4 <nfsv4@ietf.org>
Content-Type: multipart/alternative; boundary="001a114293c8438fc5055d69c50e"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/STMwR8KUQ9co46OCRsebkct6HkA>
Subject: [nfsv4] AD Evaluation for draft-ietf-nfsv4-flex-files-14.txt
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.22
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: Tue, 07 Nov 2017 19:42:33 -0000
Hi, authors, I apologize for not jumping on this draft when publication was requested - it shows up with that status in the datatracker, but a quick search of my e-mail archive doesn't show the corresponding notification e-mail to me. But, having noticed that I should be reading it ... I have some questions, which I'd like to work through before requesting Last Call. Most are harmless, and a few are requirements language questions, but I really need to understand the IANA Considerations section note about Table 3. Just administratively, I know that automatic I-D submissions are closed until next Monday, and NFSv4 isn't meeting at IETF 100, so I'd expect to wait until after IETF 100 to request Last Call (since we typically extend Last Calls that overlap meeting weeks anyway). If the chairs would like for me to handle this in another way, please let me know. And thanks for your work on this. Spencer (D) -- I think This document does not provide a standard's track control protocol. should be "standard track control protocol". I think The requirements for the a control protocol are specified in [RFC5661] and clarified in [pNFSLayouts]. should either be "for a control protocol" or "for the control protocol", but not both. I don't understand what "need not be a protocol as normally understood" in control protocol: is the particular mechanism that an implementation of a layout type would use to meet the control communication requirement for that layout type. This need not be a protocol as normally understood. In some cases the same protocol may be used as a control protocol and storage protocol. means. You do expand the definition in the next sentence, but only explaining something about a protocol as I understand protocols. Could you also add an example of the kind of thing you're thinking of, as "not a protocol"? Is it possible to add a sentence or two in Section 2, that explains the tradeoffs between loose and tight coupling? I understand there are two alternatives (and the differences are described throughout the doc), but don't understand at a high level how I'd decide which one to implement, if I was starting from scratch. I'm not a genius of "code in drafts", but shouldn't /// /* /// * Copyright (c) 2012 IETF Trust and the persons identified /// * as authors of the code. All rights reserved. /// * be 2017? The template in [LEGAL] is "insert current year" ... I'm seeing major and minor version numbers, but I'm not seeing mention of https://datatracker.ietf.org/doc/rfc8178/ -style extensions. Does that matter? Or would support for extensions simply be detected in the way described at the end of https://tools.ietf.org/html/rfc8178#section-4.3? I'm fine with all of the SHOULDs and SHOULD NOTs in The client is free to use any of the network addresses as a destination to send storage device requests. If some network addresses are less desirable paths to the data than others, then the MDS SHOULD NOT include those network addresses in ffda_netaddrs. If less desirable network addresses exist to provide failover, the RECOMMENDED method to offer the addresses is to provide them in a replacement device-ID-to-device-address mapping, or a replacement device ID. When a client finds no response from the storage device using all addresses available in ffda_netaddrs, it SHOULD send a GETDEVICEINFO to attempt to replace the existing device-ID-to-device- address mappings. If the MDS detects that all network paths represented by ffda_netaddrs are unavailable, the MDS SHOULD send a CB_NOTIFY_DEVICEID (if the client has indicated it wants device ID notifications for changed device IDs) to change the device-ID-to- device-address mappings to the available addresses. If the device ID itself will be replaced, the MDS SHOULD recall all layouts with the device ID, and thus force the client to get new layouts and device ID mappings via LAYOUTGET and GETDEVICEINFO. except the last one. Can you help me understand why the MDS would not recall all layouts and force clients to get new layouts and mappings? Is it correct that there's no difference between the client's action when receiving NFS4ERR_LAYOUTTRYLATER: there is some issue preventing the layout from being granted. If the client already has an appropriate layout, it should continue with I/O to the storage devices. and NFS4ERR_DELAY: there is some issue preventing the layout from being granted. If the client already has an appropriate layout, it should not continue with I/O to the storage devices. ? That wouldn't surprise me, but I thought I should ask. I think In [RFC5661], the file layout type is defined such that the relationship between multipathing and filehandles can result in either 0, 1, or N filehandles (see Section 13.3). Some rationals for this are clustered servers which share the same filehandle or allowing for multiple read-only copies of the file on the same storage device. should be "rationales". Could you help me understand why The metadata server SHOULD recall any outstanding layouts to allow it exclusive write access to the stripes being recovered and to prevent other clients from hitting the same error condition. In these cases, the server MUST complete recovery before handing out any new layouts to the affected byte ranges. is not a MUST? ("Why wouldn't the MDS do that?") Is "hot" a term of art for the NFS community? (If so, is there a reference with a definition that could be included on first use?) I'm really confused by Note, [RFC5661] should have also defined (see Table 3): +-------------------------------+------+-----------+-----+----------+ | Recallable Object Type Name | Valu | RFC | How | Minor | | | e | | | Versions | +-------------------------------+------+-----------+-----+----------+ | RCA4_TYPE_MASK_OTHER_LAYOUT_M | 12 | [RFC5661] | L | 1 | | IN | | | | | | RCA4_TYPE_MASK_OTHER_LAYOUT_M | 15 | [RFC5661] | L | 1 | | AX | | | | | +-------------------------------+------+-----------+-----+----------+ Table 3: Recallable Object Type Assignments As best I can tell, https://www.iana.org/assignments/nfsv4-recallable-object-types/nfsv4-recallable-object-types.xhtml#nfsv4-recallable-object-types-1 defines them as RCA4_TYPE_MASK_OBJ_LAYOUT_MIN 8 [RFC5661] L 1 RCA4_TYPE_MASK_OBJ_LAYOUT_MAX 9 [RFC5661] L 1 so, the values don't match. What am I missing? Is this a request to IANA to change the assigned values, or something else?
- [nfsv4] AD Evaluation for draft-ietf-nfsv4-flex-f… Spencer Dawkins at IETF
- Re: [nfsv4] AD Evaluation for draft-ietf-nfsv4-fl… Thomas Haynes