[PATCH v2 0/3] NFSv4.2: Add support for the COPY operation

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

 



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



[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