public inbox for fstests@vger.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: "Darrick J. Wong" <djwong@kernel.org>
Cc: zlang@redhat.com, fstests@vger.kernel.org, linux-xfs@vger.kernel.org
Subject: Re: [PATCH 06/16] generic/562: handle ENOSPC while cloning gracefully
Date: Mon, 25 Nov 2024 20:55:27 -0800	[thread overview]
Message-ID: <Z0VUvxaPnnAs7UEo@infradead.org> (raw)
In-Reply-To: <173258395162.4031902.7701863569170725350.stgit@frogsfrogsfrogs>

On Mon, Nov 25, 2024 at 05:22:05PM -0800, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
> 
> 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@lst.de>


  reply	other threads:[~2024-11-26  4:55 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-26  1:18 [PATCHBOMB] xfs/fstests: largeish pile of bug fixes Darrick J. Wong
2024-11-26  1:20 ` [PATCHSET v3] fstests: random fixes for v2024.11.17 Darrick J. Wong
2024-11-26  1:20   ` [PATCH 01/16] generic/757: fix various bugs in this test Darrick J. Wong
2024-11-28  7:56     ` Zorro Lang
2024-11-26  1:21   ` [PATCH 02/16] generic/757: convert to thinp Darrick J. Wong
2024-11-28  8:08     ` Zorro Lang
2024-11-26  1:21   ` [PATCH 03/16] xfs/113: fix failure to corrupt the entire directory Darrick J. Wong
2024-11-26  1:21   ` [PATCH 04/16] xfs/508: fix test for 64k blocksize Darrick J. Wong
2024-11-26  1:21   ` [PATCH 05/16] common/rc: capture dmesg when oom kills happen Darrick J. Wong
2024-11-26  1:22   ` [PATCH 06/16] generic/562: handle ENOSPC while cloning gracefully Darrick J. Wong
2024-11-26  4:55     ` Christoph Hellwig [this message]
2024-11-26  1:22   ` [PATCH 07/16] xfs/163: skip test if we can't shrink due to enospc issues Darrick J. Wong
2024-11-26  1:22   ` [PATCH 08/16] xfs/009: allow logically contiguous preallocations Darrick J. Wong
2024-11-26  1:22   ` [PATCH 09/16] generic/251: use sentinel files to kill the fstrim loop Darrick J. Wong
2024-11-26  1:23   ` [PATCH 10/16] generic/251: constrain runtime via time/load/soak factors Darrick J. Wong
2024-11-26  1:23   ` [PATCH 11/16] generic/251: don't copy the fsstress source code Darrick J. Wong
2024-11-26  1:23   ` [PATCH 12/16] common/rc: _scratch_mkfs_sized supports extra arguments Darrick J. Wong
2024-11-26  1:23   ` [PATCH 13/16] xfs/157: do not drop necessary mkfs options Darrick J. Wong
2024-11-26  1:24   ` [PATCH 14/16] generic/366: fix directio requirements checking Darrick J. Wong
2024-11-26  1:24   ` [PATCH 15/16] generic/454: actually set attr value for llamapirate subtest Darrick J. Wong
2024-11-26  4:56     ` Christoph Hellwig
2024-11-26  1:24   ` [PATCH 16/16] xfs/122: add tests for commitrange structures Darrick J. Wong
2024-11-26  4:57     ` Christoph Hellwig
2024-11-26 20:27   ` [PATCH 17/16] generic/459: prevent collisions between test VMs backed by a shared disk pool Darrick J. Wong
2024-11-27  5:43     ` Christoph Hellwig
2024-11-27 16:35       ` Darrick J. Wong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z0VUvxaPnnAs7UEo@infradead.org \
    --to=hch@infradead.org \
    --cc=djwong@kernel.org \
    --cc=fstests@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=zlang@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox