fs/xfs/libxfs/xfs_exchmaps.c | 10 ---------- 1 file changed, 10 deletions(-)
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@kylinos.cn>
---
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
On Mon, 14 Sep 2026 16:21:11 +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.
>
> [...]
Applied to for-next, thanks!
[1/1] xfs: remove duplicate INO1_WRITTEN check
commit: ce2b91bebc7bc0495fe3ad5ee47e4977fbb77fc5
Best regards,
--
Carlos Maiolino <cem@kernel.org>
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@kylinos.cn>
Not sure why b2d5a81dae38 got committed twice, but yes this patch is
correct.
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--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
>
>
© 2016 - 2026 Red Hat, Inc.