From: Darrick J. Wong Date: Fri, 20 Nov 2020 22:03:28 +0000 (-0500) Subject: mkfs: don't pass on extent size inherit flags when extent size is zero X-Git-Tag: xfsprogs-5.10-fixes_2020-12-06~24 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dc2cfca7842b83d76d0c0b8f73dc5a0dcbe3f112;p=thirdparty%2Fxfsprogs-dev.git mkfs: don't pass on extent size inherit flags when extent size is zero If the caller passes in an extent size hint of zero, clear the inherit flags because a hint value of zero is treated as not a hint. Otherwise, you get stupid stuff like: $ mkfs.xfs -d cowextsize=0 /tmp/a.img -f illegal CoW extent size hint 0, must be less than 9600. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Eric Sandeen --- diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c index 4cb79b695..bad92f2ba 100644 --- a/mkfs/xfs_mkfs.c +++ b/mkfs/xfs_mkfs.c @@ -1457,11 +1457,17 @@ data_opts_parser( break; case D_EXTSZINHERIT: cli->fsx.fsx_extsize = getnum(value, opts, subopt); - cli->fsx.fsx_xflags |= FS_XFLAG_EXTSZINHERIT; + if (cli->fsx.fsx_extsize) + cli->fsx.fsx_xflags |= FS_XFLAG_EXTSZINHERIT; + else + cli->fsx.fsx_xflags &= ~FS_XFLAG_EXTSZINHERIT; break; case D_COWEXTSIZE: cli->fsx.fsx_cowextsize = getnum(value, opts, subopt); - cli->fsx.fsx_xflags |= FS_XFLAG_COWEXTSIZE; + if (cli->fsx.fsx_cowextsize) + cli->fsx.fsx_xflags |= FS_XFLAG_COWEXTSIZE; + else + cli->fsx.fsx_xflags &= ~FS_XFLAG_COWEXTSIZE; break; case D_DAXINHERIT: if (getnum(value, opts, subopt))