Re: [nfsv4] [pnfs] [PATCH 1/1] pnfsd: DLM file layout only support read iomode layouts

Benny Halevy <bhalevy@panasas.com> Wed, 16 December 2009 15:51 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 C667A3A6893 for <nfsv4@core3.amsl.com>; Wed, 16 Dec 2009 07:51:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.265
X-Spam-Level:
X-Spam-Status: No, score=-2.265 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334]
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 ByQyTFv8zvrV for <nfsv4@core3.amsl.com>; Wed, 16 Dec 2009 07:51:41 -0800 (PST)
Received: from daytona.int.panasas.com (daytona.panasas.com [67.152.220.89]) by core3.amsl.com (Postfix) with ESMTP id C2C9C3A67FE for <nfsv4@ietf.org>; Wed, 16 Dec 2009 07:51:40 -0800 (PST)
Received: from fs1.bhalevy.com ([172.17.33.53]) by daytona.int.panasas.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 16 Dec 2009 10:51:26 -0500
Message-ID: <4B2901FC.1060203@panasas.com>
Date: Wed, 16 Dec 2009 17:51:24 +0200
From: Benny Halevy <bhalevy@panasas.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1b3pre) Gecko/20090513 Fedora/3.0-2.3.beta2.fc11 Thunderbird/3.0b2
MIME-Version: 1.0
To: "William A. (Andy) Adamson" <androsadamson@gmail.com>
References: <1260907434-7484-1-git-send-email-andros@netapp.com> <1260907434-7484-2-git-send-email-andros@netapp.com> <20091215224155.GF8686@fieldses.org> <4B28D006.4000409@panasas.com> <89c397150912160726l65469d9nb3df68d06fdc190d@mail.gmail.com> <20091216153740.GA23117@fieldses.org> <89c397150912160742x2b57e31cp7b5b4fd36d6566fd@mail.gmail.com>
In-Reply-To: <89c397150912160742x2b57e31cp7b5b4fd36d6566fd@mail.gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 16 Dec 2009 15:51:26.0496 (UTC) FILETIME=[A0060200:01CA7E67]
Cc: "J. Bruce Fields" <bfields@fieldses.org>, pnfs@linux-nfs.org, NFSv4 <nfsv4@ietf.org>
Subject: Re: [nfsv4] [pnfs] [PATCH 1/1] pnfsd: DLM file layout only support read iomode layouts
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: Wed, 16 Dec 2009 15:51:41 -0000

On Dec. 16, 2009, 17:42 +0200, "William A. (Andy) Adamson" <androsadamson@gmail.com> wrote:
> On Wed, Dec 16, 2009 at 10:37 AM, J. Bruce Fields <bfields@fieldses.org> wrote:
>> On Wed, Dec 16, 2009 at 10:26:57AM -0500, William A. (Andy) Adamson wrote:
>>> On Wed, Dec 16, 2009 at 7:18 AM, Benny Halevy <bhalevy@panasas.com> wrote:
>>>> 15.1.10.4.  NFS4ERR_LAYOUTUNAVAILABLE (Error Code 10059)
>>>>
>>>>   Returned when layouts are not available for the current file system
>>>>   or the particular specified file.
>>>>
>>>> NFS4ERR_BADIOMODE seems to make more sense since layouts are available,
>>>> just not for the requested iomode. However its definition indicates that
>>>> the iomode in the client request is "invalid or inappropriate".
>>>> It is not clear what "inappropriate" means in this context.
>>> What difference does 'what inappropriate means' make to the client?
>>> None! It's up to the server.
>> We do have to worry how clients will react to the error:
>>
>>        - If clients really assume that this error can only result from
>>          a bug, then they may choose to return an IO error to the
>>          application, turn off pnfs entirely for this server, or
>>          something similarly drastic.
> 
> Then that client implementation won't be used for very long. This is
> Darwin in action!
> 
>>        - If they assume it means that the server doesn't feel like
>>          giving out a layout of that iomode right now, then we're good.
>>
>> You're probably right that the latter is a reasonable interpretation of
>> "inappropriate".
>>
>> However, the spec isn't entirely explicit about this, and the only
>> specific example given of BADIOMODE use is an "invalid" case (client
>> supplying IOMODE4_ANY on getlayout), so I think it would be easy for a
>> client to get this wrong.
> 
> Perhaps. Linux doesn't. What does the only other client (Solaris) do?
> 

I'm not sure that matters much.  The fact that we got it wrong
and it wasn't obvious for us what error the server should have returned
is a pretty good indication that the spec isn't clear about it.

Benny

> -->Andy
> 
>> --b.
>>