Subject: [nfsv4] SERVERCOPY Procedure Proposal

From: Jim Callahan <[email-masked]>
Date: Sat, 14 Mar 2009 21:01:26 -0400

I would like to propose a new NFS server procedure called SERVERCOPY
which performs an atomic file copy on an NFS server without routing data
through a client.   It would have the same arguments and return type as
the existing RENAME procedure except that it would only operate on
regular files.  Instead of renaming a file on the server it would
instruct the server to make a new target file which is an identical copy
of an existing source file.

This would be equivalent in result to running the Unix "cp" command on
an NFS client to copy a file from one location to another on a single
server via the same NFS mount.   The advantage is that instead of
requiring the data to be send from the server to the client via many
READ procedures and then back to the server via many WRITE procedures,
this new SERVERCOPY procedure would be performed internally by the NFS
server.   No file data would need to be routed through the NFS client at
all.   This should lead to dramatically increased performance for file
copying when no reading or manipulation of the data involved is required
by the client.

NFS server vendors would be free to implement this procedure in the most
optimal way for their particular software/hardware architecture.  For
single host NFS servers, this would avoid sending any file data over the
network.  For clustered implementations, there may still be some network
transmission involved but it still would be offloaded from the NFS
client and likely could be better optimized.

Note that this would not provide any means for copying files between
different NFS servers or across NFS mounts.  It is entirely an
optimization for copying data internal to a single NFS server.

-- 
Jim Callahan - President - Temerity Software <www.temerity.us>

---

From: James Lentini <[email-masked]>
Date: Mon, 16 Mar 2009 10:42:35 -0400 (EDT)

> optimization for copying data internal to a single NFS server.

Jim,

My colleagues and I have a proposal for a server-side copy procedure. 
We will be releasing this proposal after the March IETF meeting (and 
new drafts are eligible for submission). Our approach is along the 
lines you describe below. The operations provide a mechanism for 
copying a file from one location to another on a single NFS server.

-james

--
James Lentini | NetApp | 781-768-5359 | [email-masked]