linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* "do_copy_range:: Invalid argument"
@ 2020-12-11 16:26 Mike Marshall
  2020-12-14  3:05 ` Dave Chinner
  0 siblings, 1 reply; 4+ messages in thread
From: Mike Marshall @ 2020-12-11 16:26 UTC (permalink / raw)
  To: linux-fsdevel, Mike Marshall, Mike Marshall

Greetings everyone...

Omnibond has sent me off doing some testing chores lately.
I made no Orangefs patches for 5.9 or 5.10 and none were sent,
but I thought I should at least run through xfstests.

There are tests that fail on 5.10-rc6 that didn't fail
on 5.8-rc7, and I've done enough looking to see that the
failure reasons all seem related.

I will, of course, keep looking to try and understand these
failures. Bisection might lead me somewhere. In case the
notes I've taken so far trigger any of y'all to give me
any (constructive :-) ) suggestions, I've included them below.

-Mike

---------------------------------------------------------------------

generic/075
  58rc7: ? (check.log says it ran, results file missing)
  510rc6: failed, "do_copy_range:: Invalid argument"
          read the tests/generic/075 commit message for "detect
          preallocation support for fsx tests"

generic/091
  58rc7: passed, but skipped fallocate parts "filesystem does not support"
  510rc6: failed, "do_copy_range:: Invalid argument"

generic/112
  58rc7: ? (check.log says it ran, results file missing)
  510rc6: failed, "do_copy_range:: Invalid argument"

generic/127
  58rc7: ? (check.log says it ran, results file missing)
  510rc6: failed, "do_copy_range:: Invalid argument"

generic/249
  58rc7: passed
  510rc6: failed, "sendfile: Invalid argument"
          man 2 sendfile -> "SEE ALSO copy_file_range(2)"

generic/263
  58rc7: passed
  510rc6: failed, "do_copy_range:: Invalid argument"

generic/434
  58rc7: failed "copy_range: Bad file descriptor"
  510rc6: not run "xfs_io copy_range failed (old kernel/wrong fs/bad args?)"

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: "do_copy_range:: Invalid argument"
  2020-12-11 16:26 "do_copy_range:: Invalid argument" Mike Marshall
@ 2020-12-14  3:05 ` Dave Chinner
  2020-12-14  4:07   ` Matthew Wilcox
  0 siblings, 1 reply; 4+ messages in thread
From: Dave Chinner @ 2020-12-14  3:05 UTC (permalink / raw)
  To: Mike Marshall; +Cc: linux-fsdevel, Mike Marshall

On Fri, Dec 11, 2020 at 11:26:28AM -0500, Mike Marshall wrote:
> Greetings everyone...
> 
> Omnibond has sent me off doing some testing chores lately.
> I made no Orangefs patches for 5.9 or 5.10 and none were sent,
> but I thought I should at least run through xfstests.
> 
> There are tests that fail on 5.10-rc6 that didn't fail
> on 5.8-rc7, and I've done enough looking to see that the
> failure reasons all seem related.
> 
> I will, of course, keep looking to try and understand these
> failures. Bisection might lead me somewhere. In case the
> notes I've taken so far trigger any of y'all to give me
> any (constructive :-) ) suggestions, I've included them below.
> 
> -Mike
> 
> ---------------------------------------------------------------------
> 
> generic/075
>   58rc7: ? (check.log says it ran, results file missing)
>   510rc6: failed, "do_copy_range:: Invalid argument"
>           read the tests/generic/075 commit message for "detect
>           preallocation support for fsx tests"
> 
> generic/091
>   58rc7: passed, but skipped fallocate parts "filesystem does not support"
>   510rc6: failed, "do_copy_range:: Invalid argument"
> 
> generic/112
>   58rc7: ? (check.log says it ran, results file missing)
>   510rc6: failed, "do_copy_range:: Invalid argument"
> 
> generic/127
>   58rc7: ? (check.log says it ran, results file missing)
>   510rc6: failed, "do_copy_range:: Invalid argument"
> 
> generic/249
>   58rc7: passed
>   510rc6: failed, "sendfile: Invalid argument"
>           man 2 sendfile -> "SEE ALSO copy_file_range(2)"

If sendfile() failed, then it's likely a splice related regression,
not a copy_file_range() problem. The VFS CFR implementation falls
back to splice if the fs doesn't provide a clone or copy offload
method.

THere's only been a handful of changes to fs/splice.c since 5.8rc7,
so it might be worth doing a quick check reverting them first...

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: "do_copy_range:: Invalid argument"
  2020-12-14  3:05 ` Dave Chinner
@ 2020-12-14  4:07   ` Matthew Wilcox
  2020-12-15 20:20     ` Mike Marshall
  0 siblings, 1 reply; 4+ messages in thread
From: Matthew Wilcox @ 2020-12-14  4:07 UTC (permalink / raw)
  To: Dave Chinner; +Cc: Mike Marshall, linux-fsdevel, Mike Marshall

On Mon, Dec 14, 2020 at 02:05:52PM +1100, Dave Chinner wrote:
> On Fri, Dec 11, 2020 at 11:26:28AM -0500, Mike Marshall wrote:
> > Greetings everyone...
> > 
> > Omnibond has sent me off doing some testing chores lately.
> > I made no Orangefs patches for 5.9 or 5.10 and none were sent,
> > but I thought I should at least run through xfstests.
> > 
> > There are tests that fail on 5.10-rc6 that didn't fail
> > on 5.8-rc7, and I've done enough looking to see that the
> > failure reasons all seem related.
> > 
> > I will, of course, keep looking to try and understand these
> > failures. Bisection might lead me somewhere. In case the
> > notes I've taken so far trigger any of y'all to give me
> > any (constructive :-) ) suggestions, I've included them below.
> > 
> > -Mike
> > 
> > ---------------------------------------------------------------------
> > 
> > generic/075
> >   58rc7: ? (check.log says it ran, results file missing)
> >   510rc6: failed, "do_copy_range:: Invalid argument"
> >           read the tests/generic/075 commit message for "detect
> >           preallocation support for fsx tests"
> > 
> > generic/091
> >   58rc7: passed, but skipped fallocate parts "filesystem does not support"
> >   510rc6: failed, "do_copy_range:: Invalid argument"
> > 
> > generic/112
> >   58rc7: ? (check.log says it ran, results file missing)
> >   510rc6: failed, "do_copy_range:: Invalid argument"
> > 
> > generic/127
> >   58rc7: ? (check.log says it ran, results file missing)
> >   510rc6: failed, "do_copy_range:: Invalid argument"
> > 
> > generic/249
> >   58rc7: passed
> >   510rc6: failed, "sendfile: Invalid argument"
> >           man 2 sendfile -> "SEE ALSO copy_file_range(2)"
> 
> If sendfile() failed, then it's likely a splice related regression,
> not a copy_file_range() problem. The VFS CFR implementation falls
> back to splice if the fs doesn't provide a clone or copy offload
> method.
> 
> THere's only been a handful of changes to fs/splice.c since 5.8rc7,
> so it might be worth doing a quick check reverting them first...

I'd suggest applying the equivalent of
https://lore.kernel.org/linux-fsdevel/1606837496-21717-1-git-send-email-asmadeus@codewreck.org/
would be the first step.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: "do_copy_range:: Invalid argument"
  2020-12-14  4:07   ` Matthew Wilcox
@ 2020-12-15 20:20     ` Mike Marshall
  0 siblings, 0 replies; 4+ messages in thread
From: Mike Marshall @ 2020-12-15 20:20 UTC (permalink / raw)
  To: Matthew Wilcox, Dave Chinner; +Cc: linux-fsdevel, Mike Marshall, Linus Torvalds

Hey! Y'all are awesome! I added this simple patch
and all the tests that failed work now.  I added
.splice_read too, don't know if I should have...

I'll run all the xfstests (so far I just ran the
handful of regressions so I could see that they
were passing) and if that goes well, I'll refresh
the orangefs linux-next tree. If that goes well, hopefully
Linus will accept this during the 5.11 merge window.

Thanks again!

-Mike

[root@vm1 linux]# git diff
diff --git a/fs/orangefs/file.c b/fs/orangefs/file.c
index af375e049aae..7417af40d33e 100644
--- a/fs/orangefs/file.c
+++ b/fs/orangefs/file.c
@@ -663,6 +663,8 @@ const struct file_operations orangefs_file_operations = {
        .unlocked_ioctl = orangefs_ioctl,
        .mmap           = orangefs_file_mmap,
        .open           = generic_file_open,
+        .splice_read    = generic_file_splice_read,
+        .splice_write   = iter_file_splice_write,
        .flush          = orangefs_flush,
        .release        = orangefs_file_release,
        .fsync          = orangefs_fsync,
[root@vm1 linux]#

On Sun, Dec 13, 2020 at 11:07 PM Matthew Wilcox <willy@infradead.org> wrote:
>
> On Mon, Dec 14, 2020 at 02:05:52PM +1100, Dave Chinner wrote:
> > On Fri, Dec 11, 2020 at 11:26:28AM -0500, Mike Marshall wrote:
> > > Greetings everyone...
> > >
> > > Omnibond has sent me off doing some testing chores lately.
> > > I made no Orangefs patches for 5.9 or 5.10 and none were sent,
> > > but I thought I should at least run through xfstests.
> > >
> > > There are tests that fail on 5.10-rc6 that didn't fail
> > > on 5.8-rc7, and I've done enough looking to see that the
> > > failure reasons all seem related.
> > >
> > > I will, of course, keep looking to try and understand these
> > > failures. Bisection might lead me somewhere. In case the
> > > notes I've taken so far trigger any of y'all to give me
> > > any (constructive :-) ) suggestions, I've included them below.
> > >
> > > -Mike
> > >
> > > ---------------------------------------------------------------------
> > >
> > > generic/075
> > >   58rc7: ? (check.log says it ran, results file missing)
> > >   510rc6: failed, "do_copy_range:: Invalid argument"
> > >           read the tests/generic/075 commit message for "detect
> > >           preallocation support for fsx tests"
> > >
> > > generic/091
> > >   58rc7: passed, but skipped fallocate parts "filesystem does not support"
> > >   510rc6: failed, "do_copy_range:: Invalid argument"
> > >
> > > generic/112
> > >   58rc7: ? (check.log says it ran, results file missing)
> > >   510rc6: failed, "do_copy_range:: Invalid argument"
> > >
> > > generic/127
> > >   58rc7: ? (check.log says it ran, results file missing)
> > >   510rc6: failed, "do_copy_range:: Invalid argument"
> > >
> > > generic/249
> > >   58rc7: passed
> > >   510rc6: failed, "sendfile: Invalid argument"
> > >           man 2 sendfile -> "SEE ALSO copy_file_range(2)"
> >
> > If sendfile() failed, then it's likely a splice related regression,
> > not a copy_file_range() problem. The VFS CFR implementation falls
> > back to splice if the fs doesn't provide a clone or copy offload
> > method.
> >
> > THere's only been a handful of changes to fs/splice.c since 5.8rc7,
> > so it might be worth doing a quick check reverting them first...
>
> I'd suggest applying the equivalent of
> https://lore.kernel.org/linux-fsdevel/1606837496-21717-1-git-send-email-asmadeus@codewreck.org/
> would be the first step.

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-12-15 20:33 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-11 16:26 "do_copy_range:: Invalid argument" Mike Marshall
2020-12-14  3:05 ` Dave Chinner
2020-12-14  4:07   ` Matthew Wilcox
2020-12-15 20:20     ` Mike Marshall

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).