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

Darrick J. Wong
2024-12-13T23:12:48Z

On Wed, Dec 11, 2024 at 09:55:01AM +0100, Christoph Hellwig wrote:
> 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.

This goes back to the question I had in the gc patch -- can we let
userspace do its own reflink-aware freespace copygc, and only use the
in-kernel gc if userspace doesn't respond fast enough? I imagine
someone will want to share used blocks on zoned storage at some point.

--D

> 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
>
>