Re: [PATCH] xfs: remove duplicate INO1_WRITTEN check
From: Darrick J. Wong
Date: Mon Sep 14 2026 - 10:58:29 EST
On Mon, Sep 14, 2026 at 04:21:11PM +0800, Jiangshan Yi wrote:
> Commit a23eca88448e ("xfs: fix exchange-range reflink flag clearing
> issue with INO1_WRITTEN") duplicated commit b2d5a81dae38 ("xfs: fix
> exchange-range reflink flag clearing issue with INO1_WRITTEN"), so
> xmi_can_exchange_reflink_flags() ended up with two identical
> XFS_EXCHMAPS_INO1_WRITTEN checks. The second one is dead code,
> since the first one already returned false. Remove it.
>
> Signed-off-by: Jiangshan Yi <yijiangshan@xxxxxxxxxx>
Not sure why b2d5a81dae38 got committed twice, but yes this patch is
correct.
Reviewed-by: "Darrick J. Wong" <djwong@xxxxxxxxxx>
--D
> ---
> fs/xfs/libxfs/xfs_exchmaps.c | 10 ----------
> 1 file changed, 10 deletions(-)
>
> diff --git a/fs/xfs/libxfs/xfs_exchmaps.c b/fs/xfs/libxfs/xfs_exchmaps.c
> index 49eda8d0994d..3efed37cb98a 100644
> --- a/fs/xfs/libxfs/xfs_exchmaps.c
> +++ b/fs/xfs/libxfs/xfs_exchmaps.c
> @@ -959,16 +959,6 @@ xmi_can_exchange_reflink_flags(
> {
> struct xfs_mount *mp = req->ip1->i_mount;
>
> - /*
> - * The INO1_WRITTEN optimization can skip exchanging hole and
> - * unwritten mappings, which means we cannot guarantee that all
> - * shared extents actually moved to the other file. Clearing the
> - * reflink flag of an inode that still holds shared extents breaks
> - * the CoW write path, so refuse to exchange the flags in that case.
> - */
> - if (req->flags & XFS_EXCHMAPS_INO1_WRITTEN)
> - return false;
> -
> /*
> * The INO1_WRITTEN optimization can skip exchanging hole and
> * unwritten mappings, which means we cannot guarantee that all
> --
> 2.25.1
>
>