Re: [PATCH v7 2/2] NFSv4.2: remove restriction of copy size for inter-server copy.

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

 



On Mon, Jul 12, 2021 at 1:41 PM Olga Kornievskaia
<olga.kornievskaia@xxxxxxxxx> wrote:
>
> On Tue, Jul 6, 2021 at 8:10 PM J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote:
> >
> > Whoops, I overlooked that this is client side, so it needs to go through
> > Trond or Anna, not me.
> >
> > Also note:
> >
> > On Fri, May 21, 2021 at 03:09:38PM -0400, Dai Ngo wrote:
> > > This patch, relying on the delayed unmount feature, removes this
> > > restriction since the mount and unmount overhead is now not applicable
> > > for every inter-server copy.
> >
> > There's no guarantee that the same kernel version is running on client
> > and server, or even that the server is a Linux server.
> >
> > If there's reason to expect that the lower overhead should be more
> > typical of servers in general, then say that....
>
> I'm in support of this patch not because I expect lower overhead is
> more typical but because the initial logic was there to match the
> limitations of the only existing implementation (ie Linux server) that
> was doing a mount for every copy that's out there. Now that we are
> adding support for delayed unmount to the linux server, it is not
> important to restrict the size of the copy. Linux server is the ONLY
> known implementation of the inter-SSC feature thus it's hard to say
> what's typical. Given the improved linux server implementation shows
> that it's possible to do short copies as well, I think it's fair to
> remove that restriction on the client and expect that other
> implementations would be as good or better.
>
> Yes I think client side maintainers need to chime in if they have
> objections to the patch.

So I don't see anything wrong with this patch, and I'm assuming it
just got missed due to Bruce initially "claiming" it before realizing
it's for the wrong subsystem. Anyway, I just put it into my tree for
the next merge.

Anna

>
> >
> > --b.
> >
> > >
> > > Signed-off-by: Dai Ngo <dai.ngo@xxxxxxxxxx>
> > > ---
> > >  fs/nfs/nfs4file.c | 10 ++++------
> > >  1 file changed, 4 insertions(+), 6 deletions(-)
> > >
> > > diff --git a/fs/nfs/nfs4file.c b/fs/nfs/nfs4file.c
> > > index 441a2fa073c8..b5821ed46994 100644
> > > --- a/fs/nfs/nfs4file.c
> > > +++ b/fs/nfs/nfs4file.c
> > > @@ -158,13 +158,11 @@ static ssize_t __nfs4_copy_file_range(struct file *file_in, loff_t pos_in,
> > >               sync = true;
> > >  retry:
> > >       if (!nfs42_files_from_same_server(file_in, file_out)) {
> > > -             /* for inter copy, if copy size if smaller than 12 RPC
> > > -              * payloads, fallback to traditional copy. There are
> > > -              * 14 RPCs during an NFSv4.x mount between source/dest
> > > -              * servers.
> > > +             /*
> > > +              * for inter copy, if copy size is too small
> > > +              * then fallback to generic copy.
> > >                */
> > > -             if (sync ||
> > > -                     count <= 14 * NFS_SERVER(file_inode(file_in))->rsize)
> > > +             if (sync)
> > >                       return -EOPNOTSUPP;
> > >               cn_resp = kzalloc(sizeof(struct nfs42_copy_notify_res),
> > >                               GFP_NOFS);
> > > --
> > > 2.9.5



[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