mbox series

[v7,00/19] client and server support for "inter" SSC copy

Message ID 20190916211353.18802-1-olga.kornievskaia@gmail.com (mailing list archive)
Headers show
Series client and server support for "inter" SSC copy | expand

Message

Olga Kornievskaia Sept. 16, 2019, 9:13 p.m. UTC
v7:
--- rebased patches ontop of Bruce's nfsd-next

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        | 436 +++++++++++++++++++++++++++++++++++++++++-----
 fs/nfsd/nfs4state.c       | 215 ++++++++++++++++++++---
 fs/nfsd/nfs4xdr.c         | 155 +++++++++++++++-
 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, 1429 insertions(+), 121 deletions(-)

Comments

Olga Kornievskaia Sept. 30, 2019, 7:06 p.m. UTC | #1
Hi Bruce,

Have you had a chance to take a look at the new patch series and have
any more comments?

On Mon, Sep 16, 2019 at 5:13 PM Olga Kornievskaia
<olga.kornievskaia@gmail.com> wrote:
>
> v7:
> --- rebased patches ontop of Bruce's nfsd-next
>
> 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        | 436 +++++++++++++++++++++++++++++++++++++++++-----
>  fs/nfsd/nfs4state.c       | 215 ++++++++++++++++++++---
>  fs/nfsd/nfs4xdr.c         | 155 +++++++++++++++-
>  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, 1429 insertions(+), 121 deletions(-)
>
> --
> 1.8.3.1
>
J. Bruce Fields Oct. 1, 2019, 5:13 p.m. UTC | #2
On Mon, Sep 30, 2019 at 03:06:11PM -0400, Olga Kornievskaia wrote:
> Have you had a chance to take a look at the new patch series and have
> any more comments?

Honestly, last time I checked I was having trouble finding things to
complain about--it looked OK to me.

But I'm not sure I understood the management of copy id's, should I
should give it one more read.  And then agree on how to merge it.

I was thinking maybe you could give us a git branch based on 5.5-rc1 or
5.5-rc2, Trond (I think it's Trond this time?) could pull the client
ones into his tree, and I could pull the rest into mine.

Trond/Anna?

--b.

> 
> On Mon, Sep 16, 2019 at 5:13 PM Olga Kornievskaia
> <olga.kornievskaia@gmail.com> wrote:
> >
> > v7:
> > --- rebased patches ontop of Bruce's nfsd-next
> >
> > 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        | 436 +++++++++++++++++++++++++++++++++++++++++-----
> >  fs/nfsd/nfs4state.c       | 215 ++++++++++++++++++++---
> >  fs/nfsd/nfs4xdr.c         | 155 +++++++++++++++-
> >  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, 1429 insertions(+), 121 deletions(-)
> >
> > --
> > 1.8.3.1
> >
Olga Kornievskaia Oct. 1, 2019, 5:47 p.m. UTC | #3
On Tue, Oct 1, 2019 at 1:13 PM J. Bruce Fields <bfields@fieldses.org> wrote:
>
> On Mon, Sep 30, 2019 at 03:06:11PM -0400, Olga Kornievskaia wrote:
> > Have you had a chance to take a look at the new patch series and have
> > any more comments?
>
> Honestly, last time I checked I was having trouble finding things to
> complain about--it looked OK to me.
>
> But I'm not sure I understood the management of copy id's, should I
> should give it one more read.  And then agree on how to merge it.

Let me know what you would like to discuss about how copy ids are
managed on the server. I thought that cover letter plus commit
descriptions talk about how copy stateids and copy_notify states are
managed. Do you want me to cut and paste that together here? Yes I did
skip putting the same summary in v7 as I did in earlier submissions.

> I was thinking maybe you could give us a git branch based on 5.5-rc1 or
> 5.5-rc2, Trond (I think it's Trond this time?) could pull the client
> ones into his tree, and I could pull the rest into mine.

I do have git space on linux-nfs so I could put my patches there.
However, I'm confused about the ask to be based on 5.5-rc1 as we are
still on 5.4-rc. Are you estimating that review will skip pushing this
feature for 5.5 and you are aiming for 5.6? I guess just tell me of
whose (current) git branch you'd like me to based off. The last one
was of your tree and your branch was in 5.3-rc (my default is to go
from Trond's).

> Trond/Anna?
>
> --b.
>
> >
> > On Mon, Sep 16, 2019 at 5:13 PM Olga Kornievskaia
> > <olga.kornievskaia@gmail.com> wrote:
> > >
> > > v7:
> > > --- rebased patches ontop of Bruce's nfsd-next
> > >
> > > 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        | 436 +++++++++++++++++++++++++++++++++++++++++-----
> > >  fs/nfsd/nfs4state.c       | 215 ++++++++++++++++++++---
> > >  fs/nfsd/nfs4xdr.c         | 155 +++++++++++++++-
> > >  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, 1429 insertions(+), 121 deletions(-)
> > >
> > > --
> > > 1.8.3.1
> > >
Bruce Fields Oct. 1, 2019, 5:50 p.m. UTC | #4
On Tue, Oct 01, 2019 at 01:47:22PM -0400, Olga Kornievskaia wrote:
> On Tue, Oct 1, 2019 at 1:13 PM J. Bruce Fields <bfields@fieldses.org> wrote:
> >
> > On Mon, Sep 30, 2019 at 03:06:11PM -0400, Olga Kornievskaia wrote:
> > > Have you had a chance to take a look at the new patch series and have
> > > any more comments?
> >
> > Honestly, last time I checked I was having trouble finding things to
> > complain about--it looked OK to me.
> >
> > But I'm not sure I understood the management of copy id's, should I
> > should give it one more read.  And then agree on how to merge it.
> 
> Let me know what you would like to discuss about how copy ids are
> managed on the server. I thought that cover letter plus commit
> descriptions talk about how copy stateids and copy_notify states are
> managed. Do you want me to cut and paste that together here? Yes I did
> skip putting the same summary in v7 as I did in earlier submissions.

You did fine, I just need to read it carefully and make sure I
understand.

> > I was thinking maybe you could give us a git branch based on 5.5-rc1 or
> > 5.5-rc2, Trond (I think it's Trond this time?) could pull the client
> > ones into his tree, and I could pull the rest into mine.
> 
> I do have git space on linux-nfs so I could put my patches there.
> However, I'm confused about the ask to be based on 5.5-rc1 as we are
> still on 5.4-rc.

Whoops, sorry, just a typo, I meant 5.4-rc.

--b.
Olga Kornievskaia Oct. 1, 2019, 7:03 p.m. UTC | #5
On Tue, Oct 1, 2019 at 1:50 PM J. Bruce Fields <bfields@redhat.com> wrote:
>
> On Tue, Oct 01, 2019 at 01:47:22PM -0400, Olga Kornievskaia wrote:
> > On Tue, Oct 1, 2019 at 1:13 PM J. Bruce Fields <bfields@fieldses.org> wrote:
> > >
> > > On Mon, Sep 30, 2019 at 03:06:11PM -0400, Olga Kornievskaia wrote:
> > > > Have you had a chance to take a look at the new patch series and have
> > > > any more comments?
> > >
> > > Honestly, last time I checked I was having trouble finding things to
> > > complain about--it looked OK to me.
> > >
> > > But I'm not sure I understood the management of copy id's, should I
> > > should give it one more read.  And then agree on how to merge it.
> >
> > Let me know what you would like to discuss about how copy ids are
> > managed on the server. I thought that cover letter plus commit
> > descriptions talk about how copy stateids and copy_notify states are
> > managed. Do you want me to cut and paste that together here? Yes I did
> > skip putting the same summary in v7 as I did in earlier submissions.
>
> You did fine, I just need to read it carefully and make sure I
> understand.

Ok.

> > > I was thinking maybe you could give us a git branch based on 5.5-rc1 or
> > > 5.5-rc2, Trond (I think it's Trond this time?) could pull the client
> > > ones into his tree, and I could pull the rest into mine.
> >
> > I do have git space on linux-nfs so I could put my patches there.
> > However, I'm confused about the ask to be based on 5.5-rc1 as we are
> > still on 5.4-rc.
>
> Whoops, sorry, just a typo, I meant 5.4-rc.

Ok.  I have them in git://git.linux-nfs.org/projects/aglo/linux.git
linux-ssc-for-5.5 branch.
>
> --b.