From: Christoph Hellwig Date: Sat, 21 Dec 2024 08:41:49 +0000 (+0000) Subject: xfs: disable reflink for zoned file systems X-Git-Tag: v6.15-rc1~149^2~7^2~5^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=af4f88330df39bfffbf7ae28d3429cd21b809fc3;p=thirdparty%2Flinux.git xfs: disable reflink for zoned file systems 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 Reviewed-by: "Darrick J. Wong" --- diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index b6426f5c8b51e..4ea7150692dd0 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -1829,6 +1829,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; + } + if (xfs_globals.always_cow) { xfs_info(mp, "using DEBUG-only always_cow mode."); mp->m_always_cow = true;