These patches add client and server support for the NFS v4.2 COPY operation, and depend on the new copy_file_range() system call currently scheduled for Linux 4.5. Changes in v2: - Preprocess filehandle op can choose between current_fh and save_fh - NFSD doesnt' need to fsync() after vfs_copy_file_range() call - Mark file as NFS_UNSTABLE in the copy return - The client should send a commit if the file is copied with anything other than NFS_FILE_SYNC - Fix conflicts with CLONE Questions, comments, and other testing ideas would be greatly appreciated! Thanks, Anna Anna Schumaker (4): NFSD: Don't pass filehandle to nfs4_preprocess_stateid_op() NFSD: Implement the COPY call NFS: Add COPY nfs operation vfs_copy_range() test program fs/nfs/nfs42.h | 1 + fs/nfs/nfs42proc.c | 100 +++++++++++++++++++++++++++++++ fs/nfs/nfs42xdr.c | 146 ++++++++++++++++++++++++++++++++++++++++++++++ fs/nfs/nfs4file.c | 23 ++++++++ fs/nfs/nfs4proc.c | 1 + fs/nfs/nfs4xdr.c | 1 + fs/nfs/objlayout/Makefile | 0 fs/nfsd/nfs4proc.c | 110 +++++++++++++++++++++++++++------- fs/nfsd/nfs4state.c | 10 +++- fs/nfsd/nfs4xdr.c | 62 +++++++++++++++++++- fs/nfsd/state.h | 7 ++- fs/nfsd/vfs.c | 20 +++++++ fs/nfsd/vfs.h | 1 + fs/nfsd/xdr4.h | 23 ++++++++ include/linux/nfs4.h | 1 + include/linux/nfs_fs_sb.h | 1 + include/linux/nfs_xdr.h | 27 +++++++++ nfscopy.c | 59 +++++++++++++++++++ 18 files changed, 563 insertions(+), 30 deletions(-) create mode 100644 fs/nfs/objlayout/Makefile create mode 100644 nfscopy.c -- 2.6.4 -- 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