Re: [nfsv4] Barry Leiba's No Objection on draft-ietf-nfsv4-minorversion2-40: (with COMMENT)

Barry Leiba <barryleiba@computer.org> Mon, 25 January 2016 20:03 UTC

Return-Path: <barryleiba@gmail.com>
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 48E7C1A00CA; Mon, 25 Jan 2016 12:03:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.278
X-Spam-Level:
X-Spam-Status: No, score=-1.278 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=no
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 wLKxZwbExLg0; Mon, 25 Jan 2016 12:03:19 -0800 (PST)
Received: from mail-ig0-x22d.google.com (mail-ig0-x22d.google.com [IPv6:2607:f8b0:4001:c05::22d]) (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 532511A0026; Mon, 25 Jan 2016 12:03:19 -0800 (PST)
Received: by mail-ig0-x22d.google.com with SMTP id t15so43763232igr.0; Mon, 25 Jan 2016 12:03:19 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=MdoH+x5VbpvCY128wdrrJL7Q+ayl4ebngNnFxdrg20I=; b=Ueftrpf2sx6zBv45pxKtfX+2G7Fiv6K0V11bIELfyRvZGbsUPzPTxc/IFhWN9CQUNA EqQfySIlXvxglgvIZ1hEitySQYngmPK4Vd+ICCdfzvtPvc2WzyzgRWfQqS7hd3K1k0fm FywOFxjwHGdcOk8axLjXC82wNsv9qGy09Vi8tQ1t6gyWHyVzEQdiaAf5y1kk28zm5pxU 1xWloPKjjCJ80g2HDSv1qNTOKem6j2yTbsD8Iz0SsejPkBY+e52EmguInLv5xZG92Bs7 Xujpjg/I4DKTGnUF0yASq38LgnRpZFHM/b1IWWFrQXWDkPqupABL1/KmUsqCnmKglC0Z 3lHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=MdoH+x5VbpvCY128wdrrJL7Q+ayl4ebngNnFxdrg20I=; b=nGNz001BcatW5NgLRM8VIiAdmhJ/Ljh0ACM75MeFoKvvY2hPBuFdQj5qXLBet2PWhR hldEQg5Cq3+MimI6lyYcXeT68dKJtlSn/iFjmyoTelxDioz30B1w0FrW4QLs2Nkgkkdy eCzMVd/9AQzzZDJ5e/V81jefSiamL4zY3Cnyz+pSDdJSOjRWrOT1ktfg5cK1GGSZ9qE6 ufzsjWZE3UnG4VlN9mvp3Ajp7hPl3xEP1BNrF5t5evvS/x/JcnTYpQGQvpMb+GUVgO4c Yo5pflNjuO4kIuYI4ZZwDHHDrju/UbVuYfcJwjmTkh186A1i0649t3QPnYkTjlkoGG3H Z2Bw==
X-Gm-Message-State: AG10YOR61tqRzQGC4PxwvNHStfAVRYL/6ADKNJA5v4KX9dhOJr8S52BWlKy4/X8DP0F1SZhysJRE94zOBsTOEQ==
MIME-Version: 1.0
X-Received: by 10.50.138.5 with SMTP id qm5mr20496158igb.53.1453752198627; Mon, 25 Jan 2016 12:03:18 -0800 (PST)
Sender: barryleiba@gmail.com
Received: by 10.36.50.129 with HTTP; Mon, 25 Jan 2016 12:03:18 -0800 (PST)
In-Reply-To: <1862F412-1831-4897-8FDB-FE30A41E072C@primarydata.com>
References: <20160120235314.21900.95567.idtracker@ietfa.amsl.com> <1862F412-1831-4897-8FDB-FE30A41E072C@primarydata.com>
Date: Mon, 25 Jan 2016 15:03:18 -0500
X-Google-Sender-Auth: EAz44cALO-UWppqgqOY3hCu58YM
Message-ID: <CALaySJKuMUO8S0RWN+Xfkhr4YUDDX-U0ue-D=68Z961rDKXqJQ@mail.gmail.com>
From: Barry Leiba <barryleiba@computer.org>
To: Tom Haynes <thomas.haynes@primarydata.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <http://mailarchive.ietf.org/arch/msg/nfsv4/UljsHlJHeVsU3yxV3iqLAzXA7Lw>
Cc: The IESG <iesg@ietf.org>, draft-ietf-nfsv4-minorversion2@ietf.org, NFSv4 <nfsv4@ietf.org>, nfsv4-chairs@ietf.org
Subject: Re: [nfsv4] Barry Leiba's No Objection on draft-ietf-nfsv4-minorversion2-40: (with COMMENT)
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: <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: Mon, 25 Jan 2016 20:03:21 -0000

Thanks for the response, Tom.  All good here, and I appreciate your
addressing my comments!

Barry


On Mon, Jan 25, 2016 at 2:59 PM, Tom Haynes
<thomas.haynes@primarydata.com> wrote:
> Hi Barry,
>
> Thanks for the comments!
>
> Responses inline:
>
>> On Jan 20, 2016, at 3:53 PM, Barry Leiba <barryleiba@computer.org> wrote:
>>
>> Barry Leiba has entered the following ballot position for
>> draft-ietf-nfsv4-minorversion2-40: No Objection
>>
>> When responding, please keep the subject line intact and reply to all
>> email addresses included in the To and CC lines. (Feel free to cut this
>> introductory paragraph, however.)
>>
>>
>> Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
>> for more information about IESG DISCUSS and COMMENT positions.
>>
>>
>> The document, along with other ballot positions, can be found here:
>> https://datatracker.ietf.org/doc/draft-ietf-nfsv4-minorversion2/
>>
>>
>>
>> ----------------------------------------------------------------------
>> COMMENT:
>> ----------------------------------------------------------------------
>>
>> I appear to be in the minority here, in that I *did* understand this
>> document's place relative to 4.0, and 4.1.  Still, I agree that
>> clarifying that is really important, and I'll suggest a specific
>> clarification in Section 1.1):
>>
>> OLD
>>   This document describes the NFSv4.2 protocol.  With respect to
>>   NFSv4.0 and NFSv4.1, this document does not:
>> NEW
>>   This document describes the NFSv4.2 protocol as extensions to
>>   the specifications of NFSv4.0 and NFSv4.1. Those specifications
>>   remain current and form the basis for the additions defined
>>   herein.  It is necessary to implement those before adding
>>   NFSv4.2 to the implementation.
>>
>>   With respect to NFSv4.0 and NFSv4.1, this document does not:
>> END
>
> As noted in the reply to Dave Noveck, I took his counter-proposal.
>
>
>
>>
>> -- Section 1.2 --
>>
>>   A major goal of the design of NFSv4.2 is to take common local file
>>   system features and offer them remotely.
>>
>> This sounds like it means to be a change in goals relative to 4.0 and
>> 4.1.  I think it would fit better to say it this way, and would add to
>> the clarification above:
>>
>> NEW
>>   A major goal of the enhancements provided in NFSv4.2 is to take
>>   common local file system features that have not been available
>>   through earlier versions of NFS, and to offer them remotely.
>> END
>
> I’m fine with that change.
>
>
>>
>> -- Section 6.1 --
>>
>>   Hole:  A byte range within a Sparse file that contains regions of all
>>      zeroes.  A hole might or might not have space allocated or
>>      reserved to it.
>>
>> I'm wondering about the "regions of" here: If I have a byte range that
>> contains two regions of all zeroes and something that's not all zeroes in
>> between those two regions, I do not have a (single) hole, do I?
>
>
> No, you have two.
>
>
>>  Why does
>> this say "regions of”?
>
> When I read it as you’ve laid it out, I agree with you.
>
> I thought of taking off the plural, but I like this better:
>
>   Hole:  A byte range within a Sparse file that contains all
>      zeroes.  A hole might or might not have space allocated or
>      reserved to it.
>
>
>
>>
>> And a question: Is there any disctinction between a byte-range within a
>> sparse file that happens to contain all zeroes... and one that is
>> recorded in metadata as being all zeroes?
>
> As far as the local filesystem, yes.
>
> As far as transferring across the wire, no.
>
>
>>  Can some file systems write a
>> region of zeroes without "knowing" that they have created a hole?  Does
>> this distinction matter here?
>
>
> The way it matters is that we know we do not have to transfer the data across the wire.
>
>
>>
>> -- Section 6.2.1 --
>>
>>   Note that as the client has no a priori
>>   knowledge of whether a hole is present or not
>>
>> (No need to respond to this; take it or leave it as you please.)  I have
>> a general preference for avoiding Latin terms, as they're not properly
>> understood by everyone.  In this case, too, "a priori" has a connotation
>> that goes beyond the literal Latin translation.  I think it'd be better
>> to word this as "Because the client does not know in advance whether a
>> hole is present or not”.
>
> I’m fine with not appearing so stiff. :-)
>
> Taken.
>
>>
>>   READ_PLUS extends the response with a new arm representing holes to
>>   avoid returning data for portions of the file which are initialized
>>   to zero and may or may not contain a backing store.  Returning data
>>   blocks of uninitialized data wastes computational and network
>>   resources, thus reducing performance.
>>
>> It wouldn't be "uninitialized" data, would it?  It'd be zeroes.  I think
>> you might just want to say "Returning actual data blocks corresponding to
>> holes", yes?
>
>
> Yes
>
>
>>
>>   By contrast, if a READ_PLUS occurs in the middle of a hole,
>>   the server can send back a range which starts before the offset and
>>   extends past the range.
>>
>> I'm not sure how a range can extend past itself ("a range which ...
>> extends past the range").  I think you just want to say "a range
>> representing the hole.”
>
>
> How about this?
>
>   By contrast, if a READ_PLUS occurs in the middle of a hole,
>   the server can send back a range which starts before the offset and
>   extends past the requested length.
>
>
>>
>> -- Section 6.2.2 --
>>
>>   DEALLOCATE can be used to hole punch, which allows the client to
>>   avoid the transfer of a repetitive pattern of zeros across the
>>   network.
>>
>> This is the first time you've mentioned DEALLOCATE where I think I
>> understand that it is a way of doing a WRITE wherein the client sends the
>> representation of a hole to the server, rather than actually doing a
>> WRITE.  (I had previously thought it was used to tell the server to undo
>> an ALLOCATE, but it now seems that they are related things, but are not
>> duals.)
>>
>> You might want to be more clear about this here, especially if what I say
>> in the previous paragraph is wrong.
>
> No, it is another form of WRITE and it is why we did not provide WRITE_PLUS.
>
>
> Does this work better for you?
>
>
>         The client can use the DEALLOCATE operation on a range
>         of a file as a hole punch, which allows the
>         client to avoid the transfer of a repetitive pattern of zeros
>         across the network. This hole punch is a result of the
>         unreserved space returning all zeros until overwritten.
>
>
>
>>
>> -- Section 7 --
>>
>>   Lesser space MAY be
>>   consumed for backups after block deallocation.
>>
>> I don't think this is a proper 2119 MAY; it sounds like a statement of
>> fact, not a protocol option.
>>
>>
>
> Agreed.
>