linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: <andros@netapp.com>
To: <trond.myklebust@primarydata.com>
Cc: <anna.schumaker@netapp.com>, <bfields@fieldses.org>,
	<linux-nfs@vger.kernel.org>, Andy Adamson <andros@netapp.com>
Subject: [PATCH Version 2 00/16] NFSv4.2: Add support for inter-server to server COPY
Date: Fri, 4 Sep 2015 13:29:22 -0400	[thread overview]
Message-ID: <1441387778-16465-1-git-send-email-andros@netapp.com> (raw)

From: Andy Adamson <andros@netapp.com>

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


             reply	other threads:[~2015-09-04 17:29 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-04 17:29 andros [this message]
2015-09-04 17:29 ` [PATCH Version 2 01/16] VFS: Separate cross fs check from vfs_copy_file_range andros
2015-09-04 17:29 ` [PATCH Version 2 02/16] BTRFS: Use VFS copy offload helper andros
2015-09-04 17:29 ` [PATCH Version 2 03/16] VFS SQUASH use file_out instead of file_in for copy_file_range andros
2015-09-04 17:29 ` [PATCH Version 2 04/16] NFS COPY xdr changes andros
2015-09-04 17:29 ` [PATCH Version 2 05/16] NFS add same file check and flush source and destination for COPY andros
2015-09-04 17:29 ` [PATCH Version 2 06/16] NFS add inter ssc functions to nfs42proc andros
2015-09-04 17:29 ` [PATCH Version 2 07/16] NFS add COPY_NOTIFY operation andros
2015-09-04 17:29 ` [PATCH Version 2 08/16] NFSD add ca_source_server<> to COPY andros
2015-09-04 17:29 ` [PATCH Version 2 09/16] NFSD add COPY_NOTIFY operation andros
2015-09-04 17:29 ` [PATCH Version 2 10/16] NFS add ca_source_server<> to COPY andros
2015-09-04 17:29 ` [PATCH Version 2 11/16] NFSD generalize nfsd4_compound_state flag names andros
2015-09-04 17:29 ` [PATCH Version 2 12/16] NFSD: allow inter server COPY to have a STALE source server fh andros
2015-09-04 17:29 ` [PATCH Version 2 13/16] NFSD add nfs4 inter ssc to nfsd4_copy andros
2015-09-04 17:29 ` [PATCH Version 2 14/16] NFS in copy use stateid returned by copy_notify andros
2015-09-04 17:29 ` [PATCH Version 2 15/16] NFS always use openstateid in COPY_NOTIFY andros
2015-09-04 17:29 ` [PATCH Version 2 16/16] NFSD: extra stateid checking in read for interserver copy andros
2015-10-02 14:45 ` [PATCH Version 2 00/16] NFSv4.2: Add support for inter-server to server COPY J. Bruce Fields

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1441387778-16465-1-git-send-email-andros@netapp.com \
    --to=andros@netapp.com \
    --cc=anna.schumaker@netapp.com \
    --cc=bfields@fieldses.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=trond.myklebust@primarydata.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).