Re: [nfsv4] draft-eisler-nfsv4-enterprise-apps-00.txt

Chuck Lever <chuck.lever@oracle.com> Thu, 14 October 2010 16:20 UTC

Return-Path: <chuck.lever@oracle.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 7779E3A699F for <nfsv4@core3.amsl.com>; Thu, 14 Oct 2010 09:20:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.064
X-Spam-Level:
X-Spam-Status: No, score=-5.064 tagged_above=-999 required=5 tests=[AWL=1.534, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, UNPARSEABLE_RELAY=0.001]
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 kkI8Z5kzDcwK for <nfsv4@core3.amsl.com>; Thu, 14 Oct 2010 09:20:41 -0700 (PDT)
Received: from rcsinet10.oracle.com (rcsinet10.oracle.com [148.87.113.121]) by core3.amsl.com (Postfix) with ESMTP id 2CFF93A6A8B for <nfsv4@ietf.org>; Thu, 14 Oct 2010 09:20:41 -0700 (PDT)
Received: from acsinet15.oracle.com (acsinet15.oracle.com [141.146.126.227]) by rcsinet10.oracle.com (Switch-3.4.2/Switch-3.4.2) with ESMTP id o9EGLqpI007917 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 14 Oct 2010 16:21:54 GMT
Received: from acsmt355.oracle.com (acsmt355.oracle.com [141.146.40.155]) by acsinet15.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id o9EF0Fjj004531; Thu, 14 Oct 2010 16:21:52 GMT
Received: from abhmt010.oracle.com by acsmt354.oracle.com with ESMTP id 684375801287073297; Thu, 14 Oct 2010 09:21:37 -0700
Received: from dhcp-adc-twvpn-1-vpnpool-10-154-31-221.vpn.oracle.com (/10.154.31.221) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 14 Oct 2010 09:21:37 -0700
Mime-Version: 1.0 (Apple Message framework v1081)
Content-Type: text/plain; charset="us-ascii"
From: Chuck Lever <chuck.lever@oracle.com>
In-Reply-To: <20101014160917.GJ24146@fieldses.org>
Date: Thu, 14 Oct 2010 12:21:34 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <D75D55EB-5F3F-4BC6-B3CB-837A2B05B106@oracle.com>
References: <c8401bdd91b16fd501edd08b5957302c.squirrel@webmail.eisler.com> <20101014160917.GJ24146@fieldses.org>
To: "J. Bruce Fields" <bfields@fieldses.org>
X-Mailer: Apple Mail (2.1081)
Cc: nfsv4@ietf.org
Subject: Re: [nfsv4] draft-eisler-nfsv4-enterprise-apps-00.txt
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, 14 Oct 2010 16:20:42 -0000

On Oct 14, 2010, at 12:09 PM, J. Bruce Fields wrote:

> On Wed, Oct 13, 2010 at 03:40:21PM -0700, Mike Eisler wrote:
>> 
>> (apologies if this a dup)
>> 
>> Margaret Susairaj of Oracle and I (of NetApp) posted this
>> internet-draft, which proposes extensions to NFSv4 for
>> better support of enterprise applications, such
>> as databases.
>> 
>> http://www.ietf.org/id/draft-eisler-nfsv4-enterprise-apps-00.txt
>> 
>> I have requested time at the IETF meeting in Beijing to discuss this.
> 
> Miscellaneous, possibly dumb questions:
> 
> 	- Can you define "enterprise application" for the purpose of
> 	  this draft?
> 
> 	- INITIALIZE:
> 		- I'm confused by the motivation.  So an application is
> 		  trying to detect whether an unused section of a file
> 		  has been corrupted?  Does it even care about
> 		  corruption of regions where it hasn't stored any data?
> 		  What does data corruption in an unallocated region
> 		  even mean?  If you care about data corruption, don't
> 		  you need additional application-level mechanisms (say,
> 		  checksums of some kind) that would render INITIALIZE
> 		  unnecessary?  I'm sure I'm just missing something;
> 		  pointers to literature welcomed.

The goal is to look for misplaced writes by applications.  In other words, it's a way to detect application software bugs, or inappropriate accesses to files by other applications.  On regular disks, you might also look for drive firmware bugs that cause a drive to write data into the wrong sectors.

> 		- Has anyone talked to e.g. linux filesystem people to
> 		  figure out support for interfaces necessary for an
> 		  application to perform INITIALIZE from a client,
> 		  and/or to let an nfs server perform it on a
> 		  filesystem?

I think these are not necessarily intended for a POSIX-style file system API with a VFS layer.  A VFS client implementation might implement these operations via ioctl.  But... it might be appropriate for the server to report to clients that it cannot support these features.

> 	- ADVISE ops: the types look almost like those in posix_fadvise,
> 	  but not exactly; out of curiosity, why the differences?
> 
> 	- SESSION_CTL: why is managing an additional sessions more
> 	  complicated than implementing SESSION_CTL?

And I wonder why the client can't simply terminate a session and negotiate a new one with the new parameters.  Increasing the size of the session's slot table while there are still slots in use might be kind of interesting to implement.

-- 
chuck[dot]lever[at]oracle[dot]com