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

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

 



From: Andy Adamson <andros@xxxxxxxxxx>

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.

I put this patch set out knowing it will need to be merged with Zach Brown's
VFS work, Anna Schumaker's intra-ssc COPY and Peng Tao's NFS CLONE patches.

Questions, comments, and other testing ideas welcome.

-->Andy


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            | 473 ++++++++++++++++++++++++++++++++++++++++--
 fs/nfsd/nfs4state.c           |  15 +-
 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, 1282 insertions(+), 65 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