Re: [nfsv4] New Version Notification for draft-bhalevy-nfs-obj-00.txt

"Haynes, Tom" <Tom.Haynes@netapp.com> Mon, 15 October 2012 18:01 UTC

Return-Path: <Tom.Haynes@netapp.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AEB8121F887D for <nfsv4@ietfa.amsl.com>; Mon, 15 Oct 2012 11:01:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.45
X-Spam-Level:
X-Spam-Status: No, score=-10.45 tagged_above=-999 required=5 tests=[AWL=0.149, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2aHD3NAx1gDr for <nfsv4@ietfa.amsl.com>; Mon, 15 Oct 2012 11:01:54 -0700 (PDT)
Received: from mx2.netapp.com (mx2.netapp.com [216.240.18.37]) by ietfa.amsl.com (Postfix) with ESMTP id E57F421F887C for <nfsv4@ietf.org>; Mon, 15 Oct 2012 11:01:54 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.80,588,1344236400"; d="scan'208";a="700932852"
Received: from smtp2.corp.netapp.com ([10.57.159.114]) by mx2-out.netapp.com with ESMTP; 15 Oct 2012 11:01:54 -0700
Received: from vmwexceht02-prd.hq.netapp.com (vmwexceht02-prd.hq.netapp.com [10.106.76.240]) by smtp2.corp.netapp.com (8.13.1/8.13.1/NTAP-1.6) with ESMTP id q9FI1sSF026902; Mon, 15 Oct 2012 11:01:54 -0700 (PDT)
Received: from SACEXCMBX04-PRD.hq.netapp.com ([169.254.6.195]) by vmwexceht02-prd.hq.netapp.com ([10.106.76.240]) with mapi id 14.02.0318.001; Mon, 15 Oct 2012 11:01:53 -0700
From: "Haynes, Tom" <Tom.Haynes@netapp.com>
To: Benny Halevy <bhalevy@tonian.com>
Thread-Topic: [nfsv4] New Version Notification for draft-bhalevy-nfs-obj-00.txt
Thread-Index: AQHNqggDmXM6oCNsmESVDXBVz/0B55e7H5cA
Date: Mon, 15 Oct 2012 18:01:53 +0000
Message-ID: <D54C745FA96F75489B58FCBD8956AE8F09AA5572@SACEXCMBX04-PRD.hq.netapp.com>
References: <20120831125212.1375.39854.idtracker@ietfa.amsl.com> <5040B986.6010809@tonian.com> <D54C745FA96F75489B58FCBD8956AE8F09896FBA@SACEXCMBX04-PRD.hq.netapp.com> <5076BA8E.5060507@tonian.com> <DA636AC7BF798243A4007D3AA0B3D3A775FEAC89@seabiscuit.int.panasas.com> <D54C745FA96F75489B58FCBD8956AE8F09A7FE42@SACEXCMBX04-PRD.hq.netapp.com> <507AB06D.7030207@tonian.com>
In-Reply-To: <507AB06D.7030207@tonian.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.106.53.51]
Content-Type: text/plain; charset="us-ascii"
Content-ID: <93DF31DA29424048A9E632C10EC123E1@tahoe.netapp.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: nfsv4 list <nfsv4@ietf.org>
Subject: Re: [nfsv4] New Version Notification for draft-bhalevy-nfs-obj-00.txt
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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: Mon, 15 Oct 2012 18:01:55 -0000

On Oct 14, 2012, at 7:30 AM, Benny Halevy <bhalevy@tonian.com> wrote:

> On 2012-10-11 20:58, Haynes, Tom wrote:
> 
> <snip>
> 
> 
>>>> What are holes?
>>> 
>> 
>> I know what holes are, my point is that you are using it without definition.
>> 
> 
> I presumed it's common knowledge in the storage community but I can take a stab
> at defining holes more clearly.
> 
> <snip>
> 

I think the biggest disconnect for me was that the text shifted to the client
interacting with the application without an introduction. It was not clear
who was generating the holes and who they were being sent to.

Anyway, you should point out that this behavior is specific to the OSD
data servers as holes cannot be sent along earlier versions of NFS.

<snip>



> 
>> the management of
>>   state required by the storage devices to perform client access
>>   control
> 
> SETATTR + out of band manipulation of NFS exports properties.
> 


And depending on the implementation of caching of the exports,
this can impose performance penalties on the other clients.

The larger problem with this is that the access control needed are
 per file, not per filesystem. And unless the NFS server supports
per file exports, this approach fails to meet requirements.

<snip>

> 
>> 
>> Also, once NFSv4.2 drops into place, how will this proposal handle
>> Labeled NFS?
>> 
>> 
> 
> It is optional for the server to support labeled NFS


For NFSv4.2 it is optional, it could be made mandatory for NFSv4.3.


> draft-ietf-nfsv4-minorversion2-15 puts the burden on the client:
> 7.3.2. Permission Checking:
>   NFSv4 should defer permission checking on this attribute to the host
>   system.  These checks are performed in addition to existing DAC and
>   ACL checks outlined in the NFSv4 protocol
> 
> 7.3.5. Label Changes:
>   Consider a system in which the clients enforce MAC checks and and the
>   server has a very simple security system which just stores the
>   labels.  In this system, the MAC label check always allows access,
>   regardless of the subject label.
> 
> 7.4. pNFS Considerations:
> 7.4.1. MAC Label Checks
>   The new FATTR4_SEC_LABEL attribute is metadata information and as
>   such the DS is not aware of the value contained on the MDS.
>   Fortunately, the NFSv4.1 protocol [2] already has provisions for
>   doing access level checks from the DS to the MDS.  In order for the
>   DS to validate the subject label presented by the client, it SHOULD
>   utilize this mechanism.
> 
> This ability is specific to the files layout and to the proprietary
> control protocol.  What can be said in our case is that when there is
> such a protocol in place, it SHOULD be used to enforce MAC labels checks.
> 


Why is it specific to the files layout?

This is the kernel of my contention with the way pNFS as described by
5661 works with different layout models. 5661 has requirements placed
outside of the layout model - the requirement for a Control Protocol is
one such.

I've been assuming all along that the blocks and object based layouts
took care of this issue by the storage devices being part of an array 
or cluster. And they communicated to solve these issues.

If they do not, then I do not consider them to be compliant to 5661.