Re: [PATCH] mkfs: reject cowextsize after making final decision about reflink support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Apr 30, 2021 at 11:07:45PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@xxxxxxxxxx>
> 
> There's a snippet of code that rejects cowextsize option if reflink is
> disabled.  This really ought to be /after/ the last place where we can
> turn off reflink.  Fix it so that people don't see stuff like this:
> 
> $ mkfs.xfs -r rtdev=b.img a.img -f -d cowextsize=16
> illegal CoW extent size hint 16, must be less than 9600.
> 
> (reflink isn't supported when realtime is enabled)
> 
> Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx>
> ---

Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>

>  mkfs/xfs_mkfs.c |   14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c
> index 0eac5336..f84a42f9 100644
> --- a/mkfs/xfs_mkfs.c
> +++ b/mkfs/xfs_mkfs.c
> @@ -2164,13 +2164,6 @@ _("inode btree counters not supported without finobt support\n"));
>  		cli->sb_feat.inobtcnt = false;
>  	}
>  
> -	if ((cli->fsx.fsx_xflags & FS_XFLAG_COWEXTSIZE) &&
> -	    !cli->sb_feat.reflink) {
> -		fprintf(stderr,
> -_("cowextsize not supported without reflink support\n"));
> -		usage();
> -	}
> -
>  	if (cli->xi->rtname) {
>  		if (cli->sb_feat.reflink && cli_opt_set(&mopts, M_REFLINK)) {
>  			fprintf(stderr,
> @@ -2187,6 +2180,13 @@ _("rmapbt not supported with realtime devices\n"));
>  		cli->sb_feat.rmapbt = false;
>  	}
>  
> +	if ((cli->fsx.fsx_xflags & FS_XFLAG_COWEXTSIZE) &&
> +	    !cli->sb_feat.reflink) {
> +		fprintf(stderr,
> +_("cowextsize not supported without reflink support\n"));
> +		usage();
> +	}
> +
>  	/*
>  	 * Copy features across to config structure now.
>  	 */
> 




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux