[PATCH 36/43] xfs: disable reflink for zoned file systems

Christoph Hellwig
2024-12-11T08:58:21Z

While the zoned on-disk format supports reflinks, the GC code currently
always unshares reflinks when moving blocks to new zones, thus making the
feature unusuable. Disable reflinks until the GC code is refcount aware.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
fs/xfs/xfs_super.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
index 59998aac7ed7..690bb068a23a 100644
--- a/fs/xfs/xfs_super.c
+++ b/fs/xfs/xfs_super.c
@@ -1818,6 +1818,13 @@ xfs_fs_fill_super(
goto out_filestream_unmount;
}

+ if (xfs_has_zoned(mp)) {
+ xfs_alert(mp,
+ "reflink not compatible with zoned RT device!");
+ error = -EINVAL;
+ goto out_filestream_unmount;
+ }
+
/*
* always-cow mode is not supported on filesystems with rt
* extent sizes larger than a single block because we'd have
--
2.45.2