aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2024-12-21 08:41:49 +0000
committerChristoph Hellwig <hch@lst.de>2025-03-03 08:17:09 -0700
commitaf4f88330df39bfffbf7ae28d3429cd21b809fc3 (patch)
tree57470ea20ced72aa6472fa90ab7e1069022f00c6
parentxfs: enable fsmap reporting for internal RT devices (diff)
downloadwireguard-linux-af4f88330df39bfffbf7ae28d3429cd21b809fc3.tar.xz
wireguard-linux-af4f88330df39bfffbf7ae28d3429cd21b809fc3.zip
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 <hch@lst.de> Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
-rw-r--r--fs/xfs/xfs_super.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
index b6426f5c8b51..4ea7150692dd 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;