Re: [nfsv4] Issue 21: pnfs EOF handling

Garth Goodson <goodson@netapp.com> Tue, 11 July 2006 12:34 UTC

Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1G0HRK-0007bk-KT; Tue, 11 Jul 2006 08:34:10 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1G0HRJ-0007av-BI for nfsv4@ietf.org; Tue, 11 Jul 2006 08:34:09 -0400
Received: from mx2.netapp.com ([216.240.18.37]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1G0HRH-0001l2-1E for nfsv4@ietf.org; Tue, 11 Jul 2006 08:34:09 -0400
Received: from smtp1.corp.netapp.com ([10.57.156.124]) by mx2.netapp.com with ESMTP; 11 Jul 2006 05:34:07 -0700
X-IronPort-AV: i="4.06,227,1149490800"; d="scan'208"; a="392308982:sNHT16370876"
Received: from svlexc03.hq.netapp.com (svlexc03.corp.netapp.com [10.57.156.149]) by smtp1.corp.netapp.com (8.13.1/8.13.1/NTAP-1.6) with ESMTP id k6BCY5no016518; Tue, 11 Jul 2006 05:34:06 -0700 (PDT)
Received: from exsvlrb02.hq.netapp.com ([10.56.8.63]) by svlexc03.hq.netapp.com with Microsoft SMTPSVC(6.0.3790.0); Tue, 11 Jul 2006 05:33:41 -0700
Received: from magenta.hq.netapp.com ([10.56.11.84]) by exsvlrb02.hq.netapp.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 11 Jul 2006 05:33:41 -0700
Received: from [10.58.48.70] ([10.58.48.70]) by magenta.hq.netapp.com with Microsoft SMTPSVC(6.0.3790.0); Tue, 11 Jul 2006 05:33:40 -0700
Message-ID: <44B39A99.4000702@netapp.com>
Date: Tue, 11 Jul 2006 05:33:29 -0700
From: Garth Goodson <goodson@netapp.com>
User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Trond Myklebust <trond.myklebust@fys.uio.no>
Subject: Re: [nfsv4] Issue 21: pnfs EOF handling
References: <6CCEAEDF4D06984A83F427424F47D6E4E1ED20@CORPUSMX40A.corp.emc.com> <1152585568.10156.11.camel@lade.trondhjem.org> <44B31E6C.4020403@netapp.com> <1152595836.10156.21.camel@lade.trondhjem.org> <44B37F83.3040202@panasas.com> <1152619040.5745.13.camel@lade.trondhjem.org>
In-Reply-To: <1152619040.5745.13.camel@lade.trondhjem.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 11 Jul 2006 12:33:40.0534 (UTC) FILETIME=[3D596560:01C6A4E6]
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 4adaf050708fb13be3316a9eee889caa
Cc: Benny Halevy <bhalevy@panasas.com>, Black_David@emc.com, nfsv4@ietf.org
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/nfsv4>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
Errors-To: nfsv4-bounces@ietf.org

Trond Myklebust wrote:
> On Tue, 2006-07-11 at 06:37 -0400, Benny Halevy wrote:
> 
>>Trond Myklebust wrote:
>>
>>>Why would this be better than the lazy alternative (i.e. recall the
>>>layout when someone else requests a GETATTR call)?
>>> 
>>>
>>
>>I think there's no real need to recall the layout for files and objects 
>>since only data and attributes
>>were changed by the writer. Wouldn't using CB_GETATTR be more efficient 
>>in this model?
> 
> 
> I suppose so. At least if the other client is just reading the file.
> 
> Note that the client is not guaranteed to have a delegation for the
> file, so it would be a change in behaviour for CB_GETATTR.
> 
> Also note that the concept of uncertainty in the file length is hardly
> new: we've had that ever since we introduced write caching. By that
> precedent, it would be perfectly justifiable to allow the reader to EOF
> when it hits the old end-of-file. Why does pNFS need better caching
> semantics than NFS here?
> 
While the semantics may seem better than NFS I don't think they really 
are.  Basically you are getting what pretty much any NFS server gives 
you --- the ability for a client that issued a read to see the latest 
data comitted at the NFS server.  I agree this is better than 
open-close, but it is what you get today.  Also, since the EOF callback 
was proposed for blocks, we thought we could make use of it.

You are correct that it would be justifiable to return EOF to the 
reader.  But as I mentioned earlier, it is slightly harder for the 
reader to obtain the new EOF (it can't piggyback getattr calls on the 
read).

I think we are arguing a minor point here.  The EOF callback is an 
optimization.

-Garth

> Cheers,
>   Trond

_______________________________________________
nfsv4 mailing list
nfsv4@ietf.org
https://www1.ietf.org/mailman/listinfo/nfsv4