[nfsv4] server to server copy draft 5

Tom Haynes <tom.haynes@oracle.com> Wed, 14 July 2010 16:58 UTC

Return-Path: <tom.haynes@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 5A3E73A67BD for <nfsv4@core3.amsl.com>; Wed, 14 Jul 2010 09:58:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.45
X-Spam-Level:
X-Spam-Status: No, score=-6.45 tagged_above=-999 required=5 tests=[AWL=0.149, BAYES_00=-2.599, 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 0AzC9Ztg4yVm for <nfsv4@core3.amsl.com>; Wed, 14 Jul 2010 09:58:55 -0700 (PDT)
Received: from rcsinet10.oracle.com (rcsinet10.oracle.com [148.87.113.121]) by core3.amsl.com (Postfix) with ESMTP id 868263A6927 for <nfsv4@ietf.org>; Wed, 14 Jul 2010 09:58:55 -0700 (PDT)
Received: from rcsinet13.oracle.com (rcsinet13.oracle.com [148.87.113.125]) by rcsinet10.oracle.com (Switch-3.4.2/Switch-3.4.2) with ESMTP id o6EGx4kt030772 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for <nfsv4@ietf.org>; Wed, 14 Jul 2010 16:59:05 GMT
Received: from acsmt354.oracle.com (acsmt354.oracle.com [141.146.40.154]) by rcsinet13.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id o6E95L18010481 for <nfsv4@ietf.org>; Wed, 14 Jul 2010 16:59:03 GMT
Received: from abhmt002.oracle.com by acsmt355.oracle.com with ESMTP id 405280131279126741; Wed, 14 Jul 2010 09:59:01 -0700
Received: from [192.168.2.6] (/98.184.164.41) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 14 Jul 2010 09:59:01 -0700
Message-ID: <4C3DECCD.1060508@oracle.com>
Date: Wed, 14 Jul 2010 11:58:53 -0500
From: Tom Haynes <tom.haynes@oracle.com>
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
To: nfsv4@ietf.org
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Source-IP: acsmt354.oracle.com [141.146.40.154]
X-Auth-Type: Internal IP
X-CT-RefId: str=0001.0A090209.4C3DECD8.0012:SCFMA4539814,ss=1,fgs=0
Subject: [nfsv4] server to server copy draft 5
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, 14 Jul 2010 16:58:56 -0000

http://www.ietf.org/id/draft-lentini-nfsv4-server-side-copy-05.txt

> 5.1.3.  Inter-Server Copy via ONC RPC but without RPCSEC_GSSv3
>
> ...
>
>    For example, suppose the network topology is as shown in Figure 3.
>    If the source filehandle is 0x12345, the source server may respond to
>    a COPY_NOTIFY for destination 10.11.78.56 with the URLs:
>
>       nfs://10.11.78.18//_COPY/10.11.78.56/_FH/0x12345
>
>       nfs://192.168.33.18//_COPY/10.11.78.56/_FH/0x12345
>
>    The client will then send these URLs to the destination server in the
>    COPY operation.  Suppose that the 192.168.33.0/24 network is a high
>    speed network and the destination server decides to transfer the file
>    over this network.  If the destination contacts the source server
>    from 192.168.33.56 over this network using NFSv4.1, it does the
>    following:
>
>    COMPOUND  { PUTROOTFH, LOOKUP "_COPY" ; LOOKUP "10.11.78.56"; LOOKUP
>       "_FH" ; OPEN "0x12345" ; GETFH }
>
>    The source server will therefore know that these NFSv4.1 operations
>    are being issued by the destination server identified in the
>    COPY_NOTIFY.

While the example is in a specific section, I think it applies to any and
all NFSv4.x server implementations. A problem with this example is that it
sets the precedence that rooted names beginning with an underscore ('_')
are special in the namespace of the server.

The pathless object draft
(http://tools.ietf.org/id/draft-dipankar-nfsv4-pathless-objects-00.txt)
faces a similar namespace issue and introduces PUTOBJROOTFH.

I'd like to see a consistent approach to adding new types of namespaces.
That might mean PUTCOPYROOTFH or it might mean a new operator that gets the
filehandle for a namespace component.

SETROOTFH files           ; equivalent to PUTROOTFH
SETROOTFH public          ; equivalent to PUTPUBFH
SETROOTFH copy
SETROOTFH object

I wouldn't want "SETROOTFH files" to obsolete PUTROOTFH, but I do want to be
able to express the root of the files namespace in this operation.