diff mbox series

[33/45] xfs_mkfs: reflink conflicts with zoned file systems for now

Message ID 20250409075557.3535745-34-hch@lst.de (mailing list archive)
State New
Headers show
Series [01/45] xfs: generalize the freespace and reserved blocks handling | expand

Commit Message

Christoph Hellwig April 9, 2025, 7:55 a.m. UTC
Until GC is enhanced to not unshared reflinked blocks we better prohibit
this combination.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 mkfs/xfs_mkfs.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Darrick J. Wong April 9, 2025, 7 p.m. UTC | #1
On Wed, Apr 09, 2025 at 09:55:36AM +0200, Christoph Hellwig wrote:
> Until GC is enhanced to not unshared reflinked blocks we better prohibit
> this combination.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>

...or gc figures out how to do reflinked moves.  Either way,
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>

--D

> ---
>  mkfs/xfs_mkfs.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c
> index 7d4114e8a2ea..0e351f9efc32 100644
> --- a/mkfs/xfs_mkfs.c
> +++ b/mkfs/xfs_mkfs.c
> @@ -2957,6 +2957,14 @@ _("rt extent size not supported on realtime devices with zoned mode\n"));
>  			}
>  			cli->rtextsize = 0;
>  		}
> +		if (cli->sb_feat.reflink) {
> +			if (cli_opt_set(&mopts, M_REFLINK)) {
> +				fprintf(stderr,
> +_("reflink not supported on realtime devices with zoned mode specified\n"));
> +				usage();
> +			}
> +			cli->sb_feat.reflink = false;
> +		}
>  
>  		/*
>  		 * Force the rtinherit flag on the root inode for zoned file
> -- 
> 2.47.2
> 
>
Christoph Hellwig April 10, 2025, 6:46 a.m. UTC | #2
On Wed, Apr 09, 2025 at 12:00:00PM -0700, Darrick J. Wong wrote:
> On Wed, Apr 09, 2025 at 09:55:36AM +0200, Christoph Hellwig wrote:
> > Until GC is enhanced to not unshared reflinked blocks we better prohibit
> > this combination.
> > 
> > Signed-off-by: Christoph Hellwig <hch@lst.de>
> 
> ...or gc figures out how to do reflinked moves.  Either way,

That's what I mean with not unsharing.  I can adjust the wording
if mine was too confusing, though.
Darrick J. Wong April 10, 2025, 4:47 p.m. UTC | #3
On Thu, Apr 10, 2025 at 08:46:31AM +0200, Christoph Hellwig wrote:
> On Wed, Apr 09, 2025 at 12:00:00PM -0700, Darrick J. Wong wrote:
> > On Wed, Apr 09, 2025 at 09:55:36AM +0200, Christoph Hellwig wrote:
> > > Until GC is enhanced to not unshared reflinked blocks we better prohibit
> > > this combination.
> > > 
> > > Signed-off-by: Christoph Hellwig <hch@lst.de>
> > 
> > ...or gc figures out how to do reflinked moves.  Either way,
> 
> That's what I mean with not unsharing.  I can adjust the wording
> if mine was too confusing, though.

"Don't allow reflink until zonegc learns how to deal with shared
extents." ?

--D
diff mbox series

Patch

diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c
index 7d4114e8a2ea..0e351f9efc32 100644
--- a/mkfs/xfs_mkfs.c
+++ b/mkfs/xfs_mkfs.c
@@ -2957,6 +2957,14 @@  _("rt extent size not supported on realtime devices with zoned mode\n"));
 			}
 			cli->rtextsize = 0;
 		}
+		if (cli->sb_feat.reflink) {
+			if (cli_opt_set(&mopts, M_REFLINK)) {
+				fprintf(stderr,
+_("reflink not supported on realtime devices with zoned mode specified\n"));
+				usage();
+			}
+			cli->sb_feat.reflink = false;
+		}
 
 		/*
 		 * Force the rtinherit flag on the root inode for zoned file