Re: [PATCH Version 2 00/16] NFSv4.2: Add support for inter-server to server COPY

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Apologies for the slow response.  I'm waiting to review this carefully
until the simpler (single-server) case is done.

Eventually I'd be curious for any performance results, specifically:

	- when copying a large file, is the copy able to use all the
	  available server<->server bandwidth?
	- when copying a small file, how does COPY compare to a read and
	  a write?

--b.

On Fri, Sep 04, 2015 at 01:29:22PM -0400, andros@xxxxxxxxxx wrote:
> From: Andy Adamson <andros@xxxxxxxxxx>
> 
> Version 2:
> 
> Fixed xdr issues. 
> Fixed stateid issues
> Added lease time to copy_notify return 
> 
> 
> Version 1: 
> These patches add client and server support for NFSv4.2 inter-server to
> server copy offload. These patches build upon Anna Schumaker's COPY Operation
> patches which are in turn built upon Zack Brown's VFS vfs_copy_file_range
> syscall. Additional functionality is added to the COPY operation past what
> Anna added. The COPY_NOTIFY operation is added.
> 
> The first three patches change Zach Brown's vfs_copy_file_range implementation.
> The first two patches relax the check for only performing copy offload between
> files with the same mount and super block, moving that check into a helper
> function that can be called (e.g. BTRFS) in a file systems copy_file_range
> function. The third patch changes vfs_copy_file_range to call the destination
> file (file_out) copy_file_range f_ops proceedure instead of the file_in version.
> 
> The remaining patches implement the COPY_NOTIFY operation and the inter-ssc
> changes to the COPY operation.  One source server using NL4_NETADDR is
> currently supported. I used the test program from Anna's COPY
> operation patch set.
> 
> 
> 
> Andy Adamson (12):
>   VFS: Separate cross fs check from vfs_copy_file_range
>   BTRFS: Use VFS copy offload helper
>   VFS SQUASH use file_out instead of file_in for copy_file_range
>   NFS add same file check and flush source and destination for COPY
>   NFS add inter ssc functions to nfs42proc
>   NFS add COPY_NOTIFY operation
>   NFSD add ca_source_server<> to COPY
>   NFSD add COPY_NOTIFY operation
>   NFS add ca_source_server<> to COPY
>   NFSD generalize nfsd4_compound_state flag names
>   NFSD: allow inter server COPY to have a STALE source server fh
>   NFSD add nfs4 inter ssc to nfsd4_copy
> 
> Olga Kornievskaia (4):
>   NFS COPY xdr changes
>   NFS in copy use stateid returned by copy_notify
>   NFS always use openstateid in COPY_NOTIFY
>   NFSD: extra stateid checking in read for interserver copy
> 
>  fs/btrfs/ioctl.c              |   3 +
>  fs/nfs/nfs42.h                |   2 +-
>  fs/nfs/nfs42proc.c            | 238 +++++++++++++++++++++-
>  fs/nfs/nfs42xdr.c             | 213 +++++++++++++++++++-
>  fs/nfs/nfs4_fs.h              |   9 +-
>  fs/nfs/nfs4file.c             |  17 +-
>  fs/nfs/nfs4proc.c             |   8 +-
>  fs/nfs/nfs4state.c            |   2 +-
>  fs/nfs/nfs4xdr.c              |   1 +
>  fs/nfsd/Kconfig               |  10 +
>  fs/nfsd/nfs4proc.c            | 456 +++++++++++++++++++++++++++++++++++++++++-
>  fs/nfsd/nfs4state.c           |  37 +++-
>  fs/nfsd/nfs4xdr.c             | 203 ++++++++++++++++++-
>  fs/nfsd/nfsd.h                |   2 +
>  fs/nfsd/state.h               |   8 +
>  fs/nfsd/xdr4.h                |  29 ++-
>  fs/read_write.c               |  38 ++--
>  include/linux/fs.h            |   1 +
>  include/linux/nfs4.h          |   7 +
>  include/linux/nfs4intercopy.h |  39 ++++
>  include/linux/nfs_fs_sb.h     |   1 +
>  include/linux/nfs_xdr.h       |  28 +++
>  22 files changed, 1289 insertions(+), 63 deletions(-)
>  create mode 100644 include/linux/nfs4intercopy.h
> 
> -- 
> 1.8.3.1
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux