From: Olga Kornievskaia <olga.kornievskaia@gmail.com>
To: trond.myklebust@hammerspace.com, anna.schumaker@netapp.com,
bfields@redhat.com
Cc: linux-nfs@vger.kernel.org
Subject: [PATCH v6 00/19] client and server support for "inter" SSC copy
Date: Fri, 6 Sep 2019 15:46:12 -0400 [thread overview]
Message-ID: <20190906194631.3216-1-olga.kornievskaia@gmail.com> (raw)
As per Bruce's request submitting the client and server series together
as there is a common patch that's needed by both.
No client side changes were made since the previous submission
v6 server-side changes
--- removed global copy notify list and instead relying only on the idr
list of stateids. Laundromat now traverses that list and if copy notify
state wasn't referenced in a lease period, state is deleted.
--- removed storing parent's stid pointer in the copy notify state.
instead storing the parent's stateid and client id then using it to
lookup the stid structure and client structure during validation of
the stateid of the READ.
--- added a refcount to the copy notify state to make sure only 1 will
delete it (as it can be delete either by the nfs4_put_stid(),
laundromat, or offload_cancel op. basically all access to the copy state
is using just one global lock now (netd->s2s_cp_lock).
--- added a type to the copy_stateid_t to distinguish copy notify state
kept by the source server and copy state used by the destination server.
--- previously with a global copy notify list, the check if client has
state before unmounting checked if the list was empty, now the code
traverses the idr list and looks for anything with a matching clientid
(again under the global s2s_cp_lock).
Olga Kornievskaia (19):
NFS NFSD: defining nl4_servers structure needed by both
NFS: add COPY_NOTIFY operation
NFS: add ca_source_server<> to COPY
NFS: also send OFFLOAD_CANCEL to source server
NFS: inter ssc open
NFS: skip recovery of copy open on dest server
NFS: for "inter" copy treat ESTALE as ENOTSUPP
NFS: COPY handle ERR_OFFLOAD_DENIED
NFS: handle source server reboot
NFS: replace cross device check in copy_file_range
NFSD fill-in netloc4 structure
NFSD add ca_source_server<> to COPY
NFSD return nfs4_stid in nfs4_preprocess_stateid_op
NFSD COPY_NOTIFY xdr
NFSD add COPY_NOTIFY operation
NFSD check stateids against copy stateids
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
fs/nfs/nfs42.h | 15 +-
fs/nfs/nfs42proc.c | 193 ++++++++++++++++----
fs/nfs/nfs42xdr.c | 190 +++++++++++++++++++-
fs/nfs/nfs4_fs.h | 11 ++
fs/nfs/nfs4client.c | 2 +-
fs/nfs/nfs4file.c | 125 ++++++++++++-
fs/nfs/nfs4proc.c | 6 +-
fs/nfs/nfs4state.c | 29 ++-
fs/nfs/nfs4xdr.c | 1 +
fs/nfsd/Kconfig | 10 ++
fs/nfsd/nfs4proc.c | 440 ++++++++++++++++++++++++++++++++++++++++++----
fs/nfsd/nfs4state.c | 215 +++++++++++++++++++---
fs/nfsd/nfs4xdr.c | 154 +++++++++++++++-
fs/nfsd/nfsd.h | 32 ++++
fs/nfsd/nfsfh.h | 5 +-
fs/nfsd/nfssvc.c | 6 +
fs/nfsd/state.h | 34 +++-
fs/nfsd/xdr4.h | 39 +++-
include/linux/nfs4.h | 25 +++
include/linux/nfs_fs.h | 3 +-
include/linux/nfs_fs_sb.h | 1 +
include/linux/nfs_xdr.h | 17 ++
22 files changed, 1431 insertions(+), 122 deletions(-)
--
1.8.3.1
next reply other threads:[~2019-09-06 19:46 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-06 19:46 Olga Kornievskaia [this message]
2019-09-06 19:46 ` [PATCH v6 01/19] NFS NFSD: defining nl4_servers structure needed by both Olga Kornievskaia
2019-09-06 19:46 ` [PATCH v6 02/19] NFS: add COPY_NOTIFY operation Olga Kornievskaia
2019-09-06 19:46 ` [PATCH v6 03/19] NFS: add ca_source_server<> to COPY Olga Kornievskaia
2019-09-06 19:46 ` [PATCH v6 04/19] NFS: also send OFFLOAD_CANCEL to source server Olga Kornievskaia
2019-09-06 19:46 ` [PATCH v6 05/19] NFS: inter ssc open Olga Kornievskaia
2019-09-12 20:23 ` J. Bruce Fields
2019-09-12 22:51 ` Olga Kornievskaia
2019-09-13 0:29 ` J. Bruce Fields
2019-09-06 19:46 ` [PATCH v6 06/19] NFS: skip recovery of copy open on dest server Olga Kornievskaia
2019-09-06 19:46 ` [PATCH v6 07/19] NFS: for "inter" copy treat ESTALE as ENOTSUPP Olga Kornievskaia
2019-09-06 19:46 ` [PATCH v6 08/19] NFS: COPY handle ERR_OFFLOAD_DENIED Olga Kornievskaia
2019-09-06 19:46 ` [PATCH v6 09/19] NFS: handle source server reboot Olga Kornievskaia
2019-09-06 19:46 ` [PATCH v6 10/19] NFS: replace cross device check in copy_file_range Olga Kornievskaia
2019-09-06 19:46 ` [PATCH v6 11/19] NFSD fill-in netloc4 structure Olga Kornievskaia
2019-09-06 19:46 ` [PATCH v6 12/19] NFSD add ca_source_server<> to COPY Olga Kornievskaia
2019-09-06 19:46 ` [PATCH v6 13/19] NFSD return nfs4_stid in nfs4_preprocess_stateid_op Olga Kornievskaia
2019-09-06 19:46 ` [PATCH v6 14/19] NFSD COPY_NOTIFY xdr Olga Kornievskaia
2019-09-06 19:46 ` [PATCH v6 15/19] NFSD add COPY_NOTIFY operation Olga Kornievskaia
2019-09-06 19:46 ` [PATCH v6 16/19] NFSD check stateids against copy stateids Olga Kornievskaia
2019-09-06 19:46 ` [PATCH v6 17/19] NFSD generalize nfsd4_compound_state flag names Olga Kornievskaia
2019-09-06 19:46 ` [PATCH v6 18/19] NFSD: allow inter server COPY to have a STALE source server fh Olga Kornievskaia
2019-09-06 19:46 ` [PATCH v6 19/19] NFSD add nfs4 inter ssc to nfsd4_copy Olga Kornievskaia
2019-09-06 20:27 ` [PATCH v6 00/19] client and server support for "inter" SSC copy Olga Kornievskaia
2019-09-12 20:26 ` J. Bruce Fields
2019-09-12 22:52 ` Olga Kornievskaia
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=20190906194631.3216-1-olga.kornievskaia@gmail.com \
--to=olga.kornievskaia@gmail.com \
--cc=anna.schumaker@netapp.com \
--cc=bfields@redhat.com \
--cc=linux-nfs@vger.kernel.org \
--cc=trond.myklebust@hammerspace.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).