Re: [nfsv4] parallel LAYOUTGETs using open stateid

"William A. (Andy) Adamson" <androsadamson@gmail.com> Thu, 07 October 2010 15:31 UTC

Return-Path: <androsadamson@gmail.com>
X-Original-To: nfsv4@core3.amsl.com
Delivered-To: nfsv4@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 057743A7265 for <nfsv4@core3.amsl.com>; Thu, 7 Oct 2010 08:31:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.449
X-Spam-Level:
X-Spam-Status: No, score=-2.449 tagged_above=-999 required=5 tests=[AWL=0.150, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4y56UARL0hyq for <nfsv4@core3.amsl.com>; Thu, 7 Oct 2010 08:31:50 -0700 (PDT)
Received: from mail-iw0-f172.google.com (mail-iw0-f172.google.com [209.85.214.172]) by core3.amsl.com (Postfix) with ESMTP id 99CCF3A725A for <nfsv4@ietf.org>; Thu, 7 Oct 2010 08:31:49 -0700 (PDT)
Received: by iwn10 with SMTP id 10so1276179iwn.31 for <nfsv4@ietf.org>; Thu, 07 Oct 2010 08:32:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=V3KjP7cFKvT2w+xuNDcTA5B6TZjzM/pDmjNiRkKp+ZE=; b=HGkgL4i9TirZY5GDi73cbGC0KvOePxp3dtZq2/xxFXSFXtl9evIt/zVHGyyTEDbq4m FyxQl9z98oPOEoPKseqi9EQfx9luM0IwRI7q8NexYjTHtITwC2kPaw5L5439Ku6wirIj 3iXcCSbbzLbYUMusFgebGX9hMiT7Q7gCB3I6g=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=MmBfkYdJ5RQ6CjxoqvU8lLs4gjejjBaE9oaxH75hGwDqdDtpMY0rYaGRoDCMc/GBsZ 2eic17bfnlEtRylcJn5Hb6WIvTOk4LwsKcftt2kOGFN4CHHdcQ2KnlFUjp83FKXVhNvy BpvlonaywOC4mqL7uObsvDNOpcpLyZnvjotGg=
MIME-Version: 1.0
Received: by 10.231.16.204 with SMTP id p12mr973714iba.194.1286465548365; Thu, 07 Oct 2010 08:32:28 -0700 (PDT)
Received: by 10.231.10.67 with HTTP; Thu, 7 Oct 2010 08:32:27 -0700 (PDT)
In-Reply-To: <4CADDB09.9020308@panasas.com>
References: <AANLkTinZ1t1YbL55vkT0OJ0i2j9AqNuvFStTwFoGO-dB@mail.gmail.com> <AANLkTin+0BG=u3o2DZcHgdODoaznePOeTrmQJfh9C6Ym@mail.gmail.com> <AANLkTimUgacoB2sEP=_k2RfVfuD04Ane1JY0ip5R+OpB@mail.gmail.com> <4CADDB09.9020308@panasas.com>
Date: Thu, 07 Oct 2010 11:32:27 -0400
Message-ID: <AANLkTinpebaZbi8ygc2ouMT2aGX8iDhMe4mtRB7ROOZ6@mail.gmail.com>
From: "William A. (Andy) Adamson" <androsadamson@gmail.com>
To: Benny Halevy <bhalevy@panasas.com>
Content-Type: text/plain; charset="ISO-8859-1"
Cc: nfsv4@ietf.org
Subject: Re: [nfsv4] parallel LAYOUTGETs using open stateid
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/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, 07 Oct 2010 15:31:52 -0000

On Thu, Oct 7, 2010 at 10:36 AM, Benny Halevy <bhalevy@panasas.com> wrote:
> On 2010-10-07 10:20, Fred Isaman wrote:
>> On Thu, Oct 7, 2010 at 9:50 AM, Benny Halevy <bhalevy@panasas.com> wrote:
>>> On Thu, Oct 7, 2010 at 9:21 AM, Fred Isaman <iisaman@citi.umich.edu> wrote:
>>>> This question came up as I was going through our layout stateid code.
>>>>
>>>> Can the client send multiple LAYOUTGETs in parallel before getting a
>>>> layoutstateid by using an open stateid?
>>>> If so, what is the server response?  The spec is not clear, but I
>>>> would assume it would do one of:
>>>> a) returning an error (what error?) on all but the first LAYOUTGET it sees
>>>> b) matching the openstateid to the layoutstateid it has already given
>>>> out and sending a reply with that stateid and a bumped seqid
>>>
>>> I'm in favour of (b).
>>> Are there any problems you see in that approach?
>>>
>>> Benny
>>>
>>
>> The wrinkle it adds is that, in the normal case, after the CB_RECALL
>> is resolved, any stale LAYOUTGETs (sent by the client before it
>> received the CB_RECALL) that the server receives will either be
>> processed normally with a bumped seqid or an error (if the server
>
> But the client MUST not process the layout recall before receiving
> replies for the outstanding layoutgets. (see section 12.5.5.2.1.
> Layout Recall and Return Sequencing)

Hmmm. But 12.5.5.2.1 is referring to outstanding layoutget's with the
same stateid as the cb_layoutrecall. If the server creates "new" ones
as described below by Fred, the client doesn't need to wait. Of
course, the client has no way of knowing until it get's the response
:)

-->Andy
>
> Benny
>
>> invalidated the "other" part of the stateid.)  In the openstateid
>> case, the server loses the option of returning an error, instead it
>> wuold create a new "other" with seqid=1.  That said, I don't see that
>> this causes any problems apart from extra bookkeeping.
>>
>> Fred
>>
>>>> Fred
>>>> _______________________________________________
>>>> nfsv4 mailing list
>>>> nfsv4@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/nfsv4
>>>>
>>>
> _______________________________________________
> nfsv4 mailing list
> nfsv4@ietf.org
> https://www.ietf.org/mailman/listinfo/nfsv4
>