On Fri, Jul 15, 2016 at 10:01:29AM +1000, Dave Chinner wrote: > On Tue, Jul 05, 2016 at 01:39:13PM +0800, Eryu Guan wrote: > > 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(). > > > > Signed-off-by: Eryu Guan <eguan@xxxxxxxxxx> > > --- > > common/rc | 11 ++++++++++- > > 1 file changed, 10 insertions(+), 1 deletion(-) > > > > diff --git a/common/rc b/common/rc > > index 883bd7b..ad81461 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=$? > > + > > + # if $mkfs_opts conflits with $MKFS_OPTIONS, > > + # try again without $MKFS_OPTIONS > > + if [ $mkfs_status -ne 0 -a -n "$MKFS_OPTIONS" ]; then > > + $MKFS_XFS_PROG -N $SCRATCH_OPTIONS $mkfs_opts $SCRATCH_DEV > > + mkfs_status=$? > > + fi > > + return $mkfs_status > > } > > > This should match what _scratch_mkfs_xfs does. i.e: > > # a mkfs failure may be caused by conflicts between > # $MKFS_OPTIONS and $extra_mkfs_options > if [ $mkfs_status -ne 0 -a ! -z "$extra_mkfs_options" ]; then > ( > echo -n "** mkfs failed with extra mkfs options " > echo "added to \"$MKFS_OPTIONS\" by test $seq **" > echo -n "** attempting to mkfs using only test $seq " > echo "options: $extra_mkfs_options **" > ) >> $seqres.full > > # running mkfs again. overwrite previous mkfs output files > _scratch_mkfs_xfs_opts $extra_mkfs_options \ > 2>$tmp_dir.mkfserr 1>$tmp_dir.mkfsstd > local mkfs_status=$? > fi > > i.e. it checks if $extra_mkfs_options is not empty, rather than > $MKFS_OPTIONS Thanks for the review! I thought about it too, but I realized that _scratch_mkfs_supported() is supposed to have "$extra_mkfs_options" (always non-empty), because what it tests is to check whether mkfs.xfs works well with these "$extra_mkfs_options". But making sure $mkfs_opts is not empty before using it makes more sense, and it matches _scratch_mkfs_xfs(). I'll send v2 patch. Thanks, Eryu _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs