linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: andros@netapp.com
Cc: trond.myklebust@primarydata.com, anna.schumaker@netapp.com,
	linux-nfs@vger.kernel.org
Subject: Re: [PATCH Version 2 00/16] NFSv4.2: Add support for inter-server to server COPY
Date: Fri, 2 Oct 2015 10:45:20 -0400	[thread overview]
Message-ID: <20151002144520.GA15612@fieldses.org> (raw)
In-Reply-To: <1441387778-16465-1-git-send-email-andros@netapp.com>

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@netapp.com wrote:
> 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

      parent reply	other threads:[~2015-10-02 14:45 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-04 17:29 [PATCH Version 2 00/16] NFSv4.2: Add support for inter-server to server COPY andros
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 ` J. Bruce Fields [this message]

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=20151002144520.GA15612@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=andros@netapp.com \
    --cc=anna.schumaker@netapp.com \
    --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).