Re: [Gen-art] Gen-art LC review of draft-ietf-nfsv4-rfc3530bis-33
Elwyn Davies <elwynd@dial.pipex.com> Mon, 01 December 2014 19:54 UTC
Return-Path: <elwynd@dial.pipex.com>
X-Original-To: gen-art@ietfa.amsl.com
Delivered-To: gen-art@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8060E1A8A7F for <gen-art@ietfa.amsl.com>; Mon, 1 Dec 2014 11:54:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 CjieZx40PerO for <gen-art@ietfa.amsl.com>; Mon, 1 Dec 2014 11:54:09 -0800 (PST)
Received: from mk-outboundfilter-2.mail.uk.tiscali.com (mk-outboundfilter-2.mail.uk.tiscali.com [212.74.114.38]) by ietfa.amsl.com (Postfix) with ESMTP id 8F8691A8A65 for <gen-art@ietf.org>; Mon, 1 Dec 2014 11:54:08 -0800 (PST)
X-Trace: 145146782/mk-outboundfilter-2.mail.uk.tiscali.com/PIPEX/$OFF_NET_AUTH_ACCEPTED/TUK-OFF-NET-SMTP-AUTH-PIPEX-Customers/81.187.254.252/None/elwynd@dial.pipex.com
X-SBRS: None
X-RemoteIP: 81.187.254.252
X-IP-MAIL-FROM: elwynd@dial.pipex.com
X-SMTP-AUTH: elwynd@dial.pipex.com
X-MUA: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
X-IP-BHB: Once
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AhAFADXGfFRRu/78/2dsb2JhbABbhC+DBcl4AoEsAQEBAQGEfwEBAQMBIw8BBTMHBgEQCQIOCgICBRYIAwICCQMCAQIBNBEGDQEFAgEBFYYFghkNoWqcbZZwAQEIAQEBAQEdgSuOcwEBHDMHgnWBUwWOYo0kgSyGBE6NI4N7b4EEAgcXBoEdAQEB
X-IPAS-Result: AhAFADXGfFRRu/78/2dsb2JhbABbhC+DBcl4AoEsAQEBAQGEfwEBAQMBIw8BBTMHBgEQCQIOCgICBRYIAwICCQMCAQIBNBEGDQEFAgEBFYYFghkNoWqcbZZwAQEIAQEBAQEdgSuOcwEBHDMHgnWBUwWOYo0kgSyGBE6NI4N7b4EEAgcXBoEdAQEB
X-IronPort-AV: E=Sophos;i="5.07,495,1413241200"; d="scan'208";a="145146782"
X-IP-Direction: OUT
Received: from neut-r.netinf.eu (HELO [81.187.254.252]) ([81.187.254.252]) by smtp.pipex.tiscali.co.uk with ESMTP/TLS/DHE-RSA-AES128-SHA; 01 Dec 2014 19:54:07 +0000
Message-ID: <547CC75C.7010909@dial.pipex.com>
Date: Mon, 01 Dec 2014 19:54:04 +0000
From: Elwyn Davies <elwynd@dial.pipex.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: David Noveck <davenoveck@gmail.com>
References: <54627625.9050909@dial.pipex.com> <7E1914F4-413F-4F7E-BE9A-C941FBDD422B@primarydata.com> <5465143D.6020604@dial.pipex.com> <47860B2D-1977-4062-9775-10463F7030B9@primarydata.com> <EF01418C3D9E034EB5E2FD76E33708EB22CAF09541@AUSX7MCPS308.AMER.DELL.COM> <CADaq8jdvdfqDuGs_Gj4qFZ2HxdH71GRSaKGQZfeq5APW40ZxmQ@mail.gmail.com> <CA071301-D89F-4A4C-B253-086E95A4F929@primarydata.com> <546B0F4F.3060504@dial.pipex.com> <B8733C3C-1986-49B3-9AE6-1B88A8F7CA8C@primarydata.com> <547C7E2B.10305@dial.pipex.com> <CADaq8jcNopgjGZgevo2BNEjWvvV3eCesFLgPzpwg0j33XO1t2A@mail.gmail.com>
In-Reply-To: <CADaq8jcNopgjGZgevo2BNEjWvvV3eCesFLgPzpwg0j33XO1t2A@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: http://mailarchive.ietf.org/arch/msg/gen-art/AtdojObV1aBgGm6zQ2hxsjTuX84
Cc: "gen-art >> General area reviewing team" <gen-art@ietf.org>, Barry Leiba <barryleiba@computer.org>, Tom Haynes <thomas.haynes@primarydata.com>
Subject: Re: [Gen-art] Gen-art LC review of draft-ietf-nfsv4-rfc3530bis-33
X-BeenThere: gen-art@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <gen-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/gen-art>, <mailto:gen-art-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/gen-art/>
List-Post: <mailto:gen-art@ietf.org>
List-Help: <mailto:gen-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/gen-art>, <mailto:gen-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 01 Dec 2014 19:54:13 -0000
Hi, David.
Thanks for the response.
A couple of comments below...
Regards,
Elwyn
On 01/12/14 18:50, David Noveck wrote:
> My view (remains) that if the cookie is not tied to the change
> attribute of the directory, this makes life difficult for both the
> server (what does it send if the data has been changed and how does
> it manage maintaining checkpoints -- where a readdir finished --, in
> particular if the checkpoint was on an entry that has been deleted),
> and the client.
>
>
> The cookie is not tied to the change attribute of the directory.
>
> The purpose of the cookie is ensuring that you do a READDIR that
> encompasses multiple requests:
>
> * entries that exist during the entire period of the multi-requuest
> directory read appear exactly once in the result.
> * entries that exists during some part of the period of the
> multi-request directory read appear at most once in the result.
>
>
> Basically implementations scan through the directory as it exists on
> disk and if there is a created entry, the client may or may not see it,
> depending on where the the new entry happens to be put, with respect to
> the ongoing scan. As far as deleted entries, the implementation only
> has to be able to move on to the next entry if it encouneters an entry
> marked as deleted.
OK, so the server has to be clever rather than telling the client to
restart the readdir -- I'm not sure this is the right trade-off since
the client has to cope with being told the cached cookie is useless (as
per Trond's input below) but I guess implementations work this way
already and it isn't my call. In that case I suggest that the last
sentence of s15.26.4, para 9, is modified to tell server implementers a
bit more clearly what they have to do. Suggestion:
OLD:
Ideally, the cookie value should not change if the directory is
modified since the client may be caching these values.
NEW:
The server SHOULD try to accept cookie values issued with READDIR
responses even if the directory has been modified between the
READDIR calls but MAY return NFS4ERR_NOT_VALID if this is not
possible as might be the case if the server has rebooted in the
interim.
One nasty thought occurs to me regarding the idea that a client caches
the cookie value(s): Is the server supposed to maintain the whole
sequence of cookies for a sequence of READDIRs on a single directory so
the client can reissue some of the READDIR calls or is it fair enough
for the server to throw them away after the client has used them once?
And how long should the server hang onto cookie state in normal operation?
>
> s19.4.1, para 2:
>
> > For the purposes of open delegation, READs and WRITEs done without an
> > OPEN are treated as the functional equivalents of a corresponding
> > type of OPEN. This refers to the READs and WRITEs that use the
> > anonymous stateid. Therefore, READs or WRITEs with an anonymous
> > stateid done by another client will force the server to recall a
> > OPEN_DELEGATE_WRITE delegation. A WRITE with an anonymous stateid
> > done by another client will force a recall of OPEN_DELEGATE_READ
> > delegations.
>
>
> suggest rewriting this as;
>
> For the purposes of open delegation, READs and WRITEs done without an
>
> OPEN (anonymous and read-bypass stateids) are treated as the functional
> equivalents of a corresponding type of OPEN. READs and WRITEs done
> with an
> anonymous stateid done by another client will force the server to
> recall a
>
> OPEN_DELEGATE_WRITE delegation. A WRITE with an anonymous stateid
> done by another client will force a recall of OPEN_DELEGATE_READ
>
> delegations. Handling of read-bypass stateid's is identical
> except that a READ
>
> done with a read-bypass stateids will not force a recall of an
> OPEN_DELEGATE_READ
>
> delegation.
>
That sounds good. It might be useful to add (e.g., to the end of para 1
of s9.6.1:
"referred to as anonymous stateid and read-bypass stateid respectively."
>
>
>
> On Mon, Dec 1, 2014 at 9:41 AM, Elwyn Davies <elwynd@dial.pipex.com
> <mailto:elwynd@dial.pipex.com>> wrote:
>
> Hi, Tom and David.
>
> Sorry to have been dilatory in running through the v35 that Tom sent me.
>
> This looks pretty good to me and has sorted out almost everything
> that I flagged up in the review. In particular s7.8 is much improved.
>
> The one problem that I have left is the issue of directory contents
> being changed under the feet of a multi-part readdir request. The
> last mail on this subject from 14 November said:
>
>
>
> On Nov 14, 2014, at 3:05 PM, Tom Haynes
> <thomas.haynes@primarydata.com
> <mailto:thomas.haynes@primarydata.com>__> wrote:
>
>
> <<snip>>
>
> On Nov 11, 2014, at 12:48 PM, Elwyn Davies
> <elwynd@dial.pipex.com
> <mailto:elwynd@dial.pipex.com>
> <mailto:elwynd@dial.pipex.com
> <mailto:elwynd@dial.pipex.com>>__> wrote:
>
>
>
>
> s15.26.4/s15.26.5: What happens if the directory
> has been modified
> (entries added or deleted) between calls of
> READDIR intended to
> retrieve segments of the directory information?
> Related to this,
> presumably no ordering of entries is implied in
> the returned
> information - it would be desirable to state this.
>
>
>
> This is where the cookieverf is supposed to come in.
>
> In most implementations, the cookie needs to be
> persistent, which indeed
> means an ordering of the information.
>
>
> AFAICS the text doesn't tie the cookieverf to the change
> attribute of the
>
> >>> directory. Presumably this is what is intended - it would certainly mean
>
> that changes would be picked up and READDIR would have to start from
> the beginning again.
>
>
>
> Asking an expert…
>
> 15.26.4
> From Trond:
>
> As far as I know, the cookieverf is about validating the cookies
> themselves. There is no requirement in any of the descriptions in
> RFC1813, RFC3530 or RFC5661 that states that the contents of the
> directory need to change when the cookieverf does or vice-versa.
> In theory, the server could throw out the cookies and regenerate
> them
> on reboot, for instance.
>
>
> My view (remains) that if the cookie is not tied to the change
> attribute of the directory, this makes life difficult for both the
> server (what does it send if the data has been changed and how does
> it manage maintaining checkpoints -- where a readdir finished --, in
> particular if the checkpoint was on an entry that has been deleted),
> and the client.
>
> Thoughts?
>
>
> I also found a some minor typos (mostly finger trouble in the new
> bits) and there are a couple of nits outstanding (see below).
>
> Are you intending to publish a -35 before Thursday?
>
> Regards,
> Elwyn
>
> Nits:
> =====
> s2.1: nfs_lease4 definition still missing.
>
> s8.5, last para: I am not sure that the jargon 'trunking relation'
> is widely understood. [I don't think I have ever come across it.]
>
> s19.4.1, para 2:
> > For the purposes of open delegation, READs and WRITEs done
> without an
> > OPEN are treated as the functional equivalents of a corresponding
> > type of OPEN. This refers to the READs and WRITEs that use the
> > anonymous stateid. Therefore, READs or WRITEs with an anonymous
> > stateid done by another client will force the server to recall a
> > OPEN_DELEGATE_WRITE delegation. A WRITE with an anonymous stateid
> > done by another client will force a recall of OPEN_DELEGATE_READ
> > delegations.
>
> Did you mean to take out the 'all 1's case' which was an alternative
> in v33?
>
> s9.10, para 1:
>
> to use a stateid of all 0's or all 1's
>
> Ought to be changed to "anonymous" and "READ bypass"
>
> s9.11, last para; s15.18.5, 5th from last para; s15.20.4, para 1:
> Reference s9.1.3 about incrementing seqid. (Three places all told.)
>
> Editorial:
> ==========
>
> s5.4, 2nd bullet labelled '1.': s/common to all object within given
> file system./common to all objects within the given file system./
> [Very nitty: Could use a different label type for the second set of
> bullets.]
>
> s6.2: s/RECOMMENED/RECOMMENDED/
>
> s8.8, para 1: s/an zero-length string/a zero-length string/ [Missed
> it last time].
>
> s9: s/has a secondary purpose/have a secondary purpose/
>
> New s9.1.3 looks good -- except for a bit of finger trouble
> s9.1.3, para 4: s/cuurent/current/
> s9.1.3, para 5: s/raesonably/reasonably/
> s9.1.3, para 6: s/wraparoundby/wraparound by/, s/gretater/greater/
>
> s9.1.6, para 2: s/consiting/consisting/
>
> s9.1.7, para 1: s/Subseuent/Subsequent/
>
> s10.3.1, first bullet: s/(such as an OPENs specifying
> DENY=NONE)/(such as for [or at or on] OPENs specifying DENY=NONE)/
>
> s12.4, 1st bullet: s/has a non-UT8 encoded/has a non-UTF8 encoded/
> ^^^
> s15.2.5, para 2: s/in which operation that/in which operations that/
>
> s15.11.5, para 5: s/the server may return the error
> NFS4ERR_NOTSUPP./the server MAY return the error NFS4ERR_NOTSUPP./
> (I think)
>
> s15.18.6, last para: s/tfor the same client/for the same client/,
> s/i size and change attribute/size and change attributes/
> ^^^ ^^^
>
> s15.26.4/s15.26.5: Not convinced about discussion on directory info
> changing under the feet of readdir.
>
> s17, para 7: s/match wth the previous/match with the previous/
> ^^^
>
>
>
>
> On 18/11/14 15:17, Tom Haynes wrote:
>
>
> On Nov 18, 2014, at 1:20 AM, Elwyn Davies
> <elwynd@dial.pipex.com <mailto:elwynd@dial.pipex.com>> wrote:
>
> Hi.
>
> Could you send me a snapshot of the updated version? I am
> getting a bit lost on the results of the various changes.
>
> Cheers,
> Elwyn
>
>
>
>
> Hi,
>
> I was wondering about that. :-)
>
> Later,
> Tom
>
>
>
>
>
>
>
- [Gen-art] Gen-art LC review of draft-ietf-nfsv4-r… Elwyn Davies
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… Tom Haynes
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… Elwyn Davies
- [Gen-art] ***SPAM*** 8.788 (5) Re: Gen-art LC rev… Tom Haynes
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… Elwyn Davies
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… Tom Haynes
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… Tom Haynes
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… Elwyn Davies
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… David Noveck
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… David Noveck
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… Elwyn Davies
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… Tom Haynes
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… Tom Haynes
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… Tom Haynes
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… Tom Haynes
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… Elwyn Davies
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… Tom Haynes
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… Martin Stiemerling
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… Elwyn Davies
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… David Noveck
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… Thomas Haynes
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… Elwyn Davies
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… David Noveck
- Re: [Gen-art] Gen-art LC review of draft-ietf-nfs… Tom Haynes