From: Eryu Guan Date: Fri, 15 Jul 2016 04:20:51 +0000 (+0800) Subject: common/rc: avoid mkfs option conflicts in _scratch_mkfs_xfs_supported X-Git-Tag: v2022.05.01~2433 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=58bff72f51c187197edfbd1e3c7d6eecc7b0069e;p=users%2Fhch%2Fxfstests-dev.git common/rc: avoid mkfs option conflicts in _scratch_mkfs_xfs_supported In recent mkfs.xfs updates in xfsprogs, commit 9090e187bc3e ("mkfs: add respecification detection to generic parsing") added re-specification detection to "-m" option, it causes several tests _notrun if MKFS_OPTIONS has the same options as those being tested in _scratch_mkfs_xfs_supported(), because they're specified multiple times. MKFS_OPTIONS="-m crc=0" ./check xfs/001 xfs/001 3s ... [not run] mkfs.xfs doesn't have crc feature Fix it by creating XFS again without MKFS_OPTIONS in _scratch_mkfs_xfs_supported(), in case there's conflict between MKFS_OPTIONS and mkfs_opts, like what we do in _scratch_mkfs_xfs(). Reviewed-by: Dave Chinner Signed-off-by: Eryu Guan --- diff --git a/common/rc b/common/rc index ad03b7030..aadf35e50 100644 --- a/common/rc +++ b/common/rc @@ -473,11 +473,20 @@ _scratch_mkfs_xfs_opts() _scratch_mkfs_xfs_supported() { - mkfs_opts=$* + local mkfs_opts=$* _scratch_options mkfs $MKFS_XFS_PROG -N $MKFS_OPTIONS $SCRATCH_OPTIONS $mkfs_opts $SCRATCH_DEV + local mkfs_status=$? + + # a mkfs failure may be caused by conflicts between $MKFS_OPTIONS and + # $mkfs_opts, try again without $MKFS_OPTIONS + if [ $mkfs_status -ne 0 -a -n "$mkfs_opts" ]; then + $MKFS_XFS_PROG -N $SCRATCH_OPTIONS $mkfs_opts $SCRATCH_DEV + mkfs_status=$? + fi + return $mkfs_status } _scratch_mkfs_xfs()