Re: [nfsv4] NFS V4 OPEN delegation with CLAIM_DELEGATE_CUR

Rick Macklem <rmacklem@uoguelph.ca> Sun, 04 July 2010 15:39 UTC

Return-Path: <rmacklem@uoguelph.ca>
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 497933A681A for <nfsv4@core3.amsl.com>; Sun, 4 Jul 2010 08:39:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.999
X-Spam-Level:
X-Spam-Status: No, score=-3.999 tagged_above=-999 required=5 tests=[BAYES_50=0.001, 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 XsCxRoM5FQjN for <nfsv4@core3.amsl.com>; Sun, 4 Jul 2010 08:39:33 -0700 (PDT)
Received: from esa-jnhn.mail.uoguelph.ca (esa-jnhn.mail.uoguelph.ca [131.104.91.44]) by core3.amsl.com (Postfix) with ESMTP id 55C1C3A680B for <nfsv4@ietf.org>; Sun, 4 Jul 2010 08:39:33 -0700 (PDT)
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AvsEAPNHMEyDaFvK/2dsb2JhbACfaHG7RoUlBA
X-IronPort-AV: E=Sophos;i="4.53,536,1272859200"; d="scan'208";a="82961987"
Received: from fraser.cs.uoguelph.ca ([131.104.91.202]) by esa-jnhn-pri.mail.uoguelph.ca with ESMTP; 04 Jul 2010 11:39:35 -0400
Received: from localhost (localhost.localdomain [127.0.0.1]) by fraser.cs.uoguelph.ca (Postfix) with ESMTP id 367A9109C25E; Sun, 4 Jul 2010 11:39:33 -0400 (EDT)
X-Virus-Scanned: amavisd-new at fraser.cs.uoguelph.ca
Received: from fraser.cs.uoguelph.ca ([127.0.0.1]) by localhost (fraser.cs.uoguelph.ca [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vk69DDsWZ757; Sun, 4 Jul 2010 11:39:32 -0400 (EDT)
Received: from muncher.cs.uoguelph.ca (muncher.cs.uoguelph.ca [131.104.91.102]) by fraser.cs.uoguelph.ca (Postfix) with ESMTP id AE4B3109C25D; Sun, 4 Jul 2010 11:39:32 -0400 (EDT)
Received: from localhost (rmacklem@localhost) by muncher.cs.uoguelph.ca (8.11.7p3+Sun/8.11.6) with ESMTP id o64FufT02903; Sun, 4 Jul 2010 11:56:41 -0400 (EDT)
X-Authentication-Warning: muncher.cs.uoguelph.ca: rmacklem owned process doing -bs
Date: Sun, 04 Jul 2010 11:56:41 -0400
From: Rick Macklem <rmacklem@uoguelph.ca>
X-X-Sender: rmacklem@muncher.cs.uoguelph.ca
To: Jwu-Shyan Tarng <jstarng@us.ibm.com>
In-Reply-To: <OFB684E0DF.FD64C02B-ON87257756.000E66A1-88257756.000FBB17@us.ibm.com>
Message-ID: <Pine.GSO.4.63.1007041139530.112@muncher.cs.uoguelph.ca>
References: <F7E65964-7ED7-4152-B6B9-BC5A8C037CEF@gmail.com> <1278194481.2808.9.camel@heimdal.trondhjem.org> <OFB684E0DF.FD64C02B-ON87257756.000E66A1-88257756.000FBB17@us.ibm.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"; format="flowed"
Cc: nfsv4 nfsv4 <nfsv4@ietf.org>
Subject: Re: [nfsv4] NFS V4 OPEN delegation with CLAIM_DELEGATE_CUR
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: Sun, 04 Jul 2010 15:39:34 -0000

On Sat, 3 Jul 2010, Jwu-Shyan Tarng wrote:

> Can someone help to answer the following questions?
> - Can the previous V4 OPEN with CLAIM=CLAIM_DELEGATE_CUR impact on
>  the later V4 OPEN delegation grant with different SHARE access
>  since CLAIM_DELEGATE_CUR is done as part of recalling a delegation based
> on RFC?
> - There is a test sequence in the following:
> 1 OPEN for Read which gets READ delegation with delegation stateid,
> dstateid, andopen stateid, ostateid
> 2 Read with dstateid.
>  - Expect NFS4_OK
> 3 CLOSE with ostateid
>  - Expect NFS4_OK
> 4 OPEN with CLAIM=CLAIM_DELEGATE_CUR with dstateid and get open stateid,
> ostateid2, back.
>  Read with dstateid.
>  - Expect NFS4_OK
>  Read with ostateid2.
>  - Expect NFS4_OK
> 5 OPEN for write for this file (like OPEN upgrade)
>  Questions:
>  1) Is the old dstateid still valid now?
>     If it is still valid, is this dstateid representing READ delegation
> or WRITE delegation?

I don't believe that it can become a WRITE delegation, but I do believe
that it is still valid until DelegReturn'd. (See below.)
>  2) Can this open for write get write delegation stateid besides open
> stateid returned to
>     the client?
>     If there is no delegation stateid returned to the client, is there
> any delegation existing
>     on the client side?
>
Hmm, interesting question. I'm interested in hearing what others say, but
here's my take on it:
- I would only expect a client to use OPEN_DELEGATE_CUR to get an Open
   when the client decides to Delegreturn the delegation, in order to get
   an Open against the server to replace locally issued Opens on the
   delegation.
   Since the delegation allows Opens to be done locally in the client,
   why would the client do an Open with OPEN_DELEGATE_CUR except when
   it needs to return the delegation? (Because of a server issued CBRECALL
   or maybe a resource constraint issue in the client such that it decides
   it needs to return the delegation.)
- As such, since the delegation is being returned, I believe a client
   is expected to Delegreturn it asap but that it continues to work as a
   read delegation until it is DelegReturn'd. My client does not use the
   delegation for anything else once it starts the process of returning
   the delegation, which is when the OPEN_DELEGATE_CUR Opens are done.
   (I don't believe that this is required behaviour, but I found that I
    had to shut down all other Open/Lock state related activities on the
    clientid while returning the delegation in order to get it to work
    correctly in my client.)

rick