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@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxx/ > would be the first step.