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