]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
xfs: disable reflink for zoned file systems
authorChristoph Hellwig <hch@lst.de>
Sat, 21 Dec 2024 08:41:49 +0000 (08:41 +0000)
committerChristoph Hellwig <hch@lst.de>
Mon, 3 Mar 2025 15:17:09 +0000 (08:17 -0700)
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>
fs/xfs/xfs_super.c

index b6426f5c8b51e601d24bd32fb90cc02679baf322..4ea7150692dd0bbbfe9d9e4b3a847df93aeb92f5 100644 (file)
@@ -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;