Re: [nfsv4] parallel LAYOUTGETs using open stateid
Benny Halevy <bhalevy@panasas.com> Thu, 07 October 2010 15:46 UTC
Return-Path: <bhalevy@panasas.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 DDD6B3A6FC7 for <nfsv4@core3.amsl.com>; Thu, 7 Oct 2010 08:46:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 vAbqz+Vf+zlW for <nfsv4@core3.amsl.com>; Thu, 7 Oct 2010 08:46:38 -0700 (PDT)
Received: from exprod5og114.obsmtp.com (exprod5og114.obsmtp.com [64.18.0.28]) by core3.amsl.com (Postfix) with SMTP id A352F3A6E12 for <nfsv4@ietf.org>; Thu, 7 Oct 2010 08:46:38 -0700 (PDT)
Received: from source ([67.152.220.89]) by exprod5ob114.postini.com ([64.18.4.12]) with SMTP ID DSNKTK3rnBEiArulolPMt7uGEiCzjUHKSCjp@postini.com; Thu, 07 Oct 2010 08:47:41 PDT
Received: from lt.bhalevy.com ([172.17.33.129]) by daytona.int.panasas.com with Microsoft SMTPSVC(6.0.3790.3959); Thu, 7 Oct 2010 11:47:40 -0400
Message-ID: <4CADEB9D.6080703@panasas.com>
Date: Thu, 07 Oct 2010 11:47:41 -0400
From: Benny Halevy <bhalevy@panasas.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.9) Gecko/20100921 Fedora/3.1.4-1.fc13 Thunderbird/3.1.4
MIME-Version: 1.0
To: "William A. (Andy) Adamson" <androsadamson@gmail.com>
References: <AANLkTinZ1t1YbL55vkT0OJ0i2j9AqNuvFStTwFoGO-dB@mail.gmail.com> <AANLkTin+0BG=u3o2DZcHgdODoaznePOeTrmQJfh9C6Ym@mail.gmail.com> <AANLkTimUgacoB2sEP=_k2RfVfuD04Ane1JY0ip5R+OpB@mail.gmail.com> <4CADDB09.9020308@panasas.com> <AANLkTinpebaZbi8ygc2ouMT2aGX8iDhMe4mtRB7ROOZ6@mail.gmail.com>
In-Reply-To: <AANLkTinpebaZbi8ygc2ouMT2aGX8iDhMe4mtRB7ROOZ6@mail.gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 07 Oct 2010 15:47:40.0094 (UTC) FILETIME=[F8F00DE0:01CB6636]
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:46:40 -0000
On 2010-10-07 11:32, William A. (Andy) Adamson wrote: > 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 > :) The spec describes that situation as: the "seqid" is not exactly one higher than what the client currently has recorded. With the initial open/deleg/lock stated, the "other" part of the stateid is different - therefore one can assume the seqid if not exactly one higher than ... so I think that the client MUST wait as described in the is section. Though, I agree the can be improved and clarified. In particular: The client MUST wait before processing such a CB_LAYOUTRECALL until it processes all replies for outstanding LAYOUTGET and LAYOUTRETURN operations for the corresponding file with seqid less than the seqid given by CB_LAYOUTRECALL (lor_stateid; see Section 20.3.) should explicitly cover outstanding LAYOUTGETs with non-layout stateid. Benny > > -->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 >>
- [nfsv4] parallel LAYOUTGETs using open stateid Fred Isaman
- Re: [nfsv4] parallel LAYOUTGETs using open stateid Benny Halevy
- Re: [nfsv4] parallel LAYOUTGETs using open stateid Benny Halevy
- Re: [nfsv4] parallel LAYOUTGETs using open stateid Fred Isaman
- Re: [nfsv4] parallel LAYOUTGETs using open stateid Benny Halevy
- Re: [nfsv4] parallel LAYOUTGETs using open stateid Fred Isaman
- Re: [nfsv4] parallel LAYOUTGETs using open stateid William A. (Andy) Adamson
- Re: [nfsv4] parallel LAYOUTGETs using open stateid Benny Halevy
- Re: [nfsv4] parallel LAYOUTGETs using open stateid Fred Isaman
- Re: [nfsv4] parallel LAYOUTGETs using open stateid Trond Myklebust
- Re: [nfsv4] parallel LAYOUTGETs using open stateid Benny Halevy