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