On Mon, 20 Mar 2023 at 15:16, Jonathan Wakely wrote: > > > On Wed, 15 Mar 2023 at 19:30, Jannik Glückert via Libstdc++ < > libstdc++@gcc.gnu.org> wrote: > >> This iteration improves error handling for copy_file_range, >> particularly around undocumented error codes in earlier kernel >> versions. >> Additionally this fixes the userspace copy fallback to handle >> zero-length files such as in >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108178. >> >> Lastly, the case "src gets resized during the copy loop" is now >> considered and will return true once the loop hits EOF (this is the >> only situation, aside from a zero-length src, where sendfile and >> copy_file_range return 0). >> > > I've applied this patch (with some whitespace fixes) and started testing > it. I'm seeing some regressions: > > FAIL: experimental/filesystem/operations/copy.cc execution test > FAIL: experimental/filesystem/operations/copy_file.cc execution test > > The failures in the log look like: > > terminate called after throwing an instance of > 'std::experimental::filesystem::v1::__cxx11::filesystem_error' > what(): filesystem error: cannot copy: Input/output error > [filesystem-test.copy.2900321341.ySWT77] > [filesystem-test.copy.2900321342.vjeAar] > FAIL: experimental/filesystem/operations/copy.cc execution test > Not just the Filesystem TS versions of those tests, but the std::filesystem ones too: FAIL: 27_io/filesystem/operations/copy.cc execution test FAIL: 27_io/filesystem/operations/copy_file.cc execution test