On Mon, Nov 25, 2024 at 05:22:05PM -0800, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > This test creates a couple of patterned files on a tiny filesystem, > fragments the free space, clones one patterned file to the other, and > checks that the entire file was cloned. > > However, this test doesn't work on a 64k fsblock filesystem because > we've used up all the free space reservation for the rmapbt, and that > causes the FICLONE to error out with ENOSPC partway through. Hence we > need to detect the ENOSPC and _notrun the test. > > That said, it turns out that XFS has been silently dropping error codes > if we managed to make some progress cloning extents. That's ok if the > operation has REMAP_FILE_CAN_SHORTEN like copy_file_range does, but > FICLONE/FICLONERANGE do not permit partial results, so the dropped error > codes is actually an error. > > Therefore, this testcase now becomes a regression test for the patch to > fix that. Still no big fan of having a btrfs-specific must not ENOSPC assumption in a generic test. So my preference would be to move the must not error at all case into a btrfs specific test and make your newly added ENOSPC handling unconditional. But I guess the state with this patch is strictly better than without, so: Reviewed-by: Christoph Hellwig <hch@xxxxxx>