All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] xfs/186: run test on expected XFS configuration
@ 2016-06-21 12:01 ` Eryu Guan
  0 siblings, 0 replies; 4+ messages in thread
From: Eryu Guan @ 2016-06-21 12:01 UTC (permalink / raw)
  To: fstests; +Cc: xfs, Eryu Guan

Usually xfs/186 _notrun on crc enabled XFS because of
_require_attr_v1, since v2 attr format is always enabled on v5 XFS.

But when testing on 512B block size XFS, i.e. MKFS_OPTIONS="-m crc=0
-b size=512", test fails. This is because crc enalbed XFS was
created in the end, not 512B block size XFS with crc disabled, and
that's not what we want to test.

The reason why _scratch_mkfs_xfs creates a different XFS than
expected is that, it may ignore $MKFS_OPTIONS if mkfs fails due to
conflicts between $MKFS_OPTIONS and the provided mkfs options.

In the case of xfs/186, "-b size=512" conflicts with "-i size=512",
and the first mkfs fails, then it ends up with a 4k block size XFS
with crc enabled (the default config).

Fix it by checking crc enablement status and attr version in the
test, to make sure it's testing on expected XFS.

Signed-off-by: Eryu Guan <eguan@redhat.com>
---
 tests/xfs/186 | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/tests/xfs/186 b/tests/xfs/186
index 9b64d6c..192a8c8 100755
--- a/tests/xfs/186
+++ b/tests/xfs/186
@@ -156,7 +156,20 @@ _require_attr_v1
 
 rm -f $seqres.full
 
-_scratch_mkfs -i attr=2,size=512 -l lazy-count=1 >/dev/null 2>&1
+_scratch_mkfs -i attr=2,size=512 -l lazy-count=1 | _filter_mkfs \
+	>>$seqres.full 2>$tmp.mkfs
+# import crc status and attr version
+. $tmp.mkfs
+
+# _scratch_mkfs may ignore $MKFS_OPTIONS if mkfs fails due to conflicts between
+# $MKFS_OPTIONS and the provided mkfs options, which could result in creating
+# an XFS we don't want. Check crc status and attr version to be sure.
+if [ $_fs_has_crcs -eq 1 ]; then
+	_notrun "attr v1 not supported on $SCRATCH_DEV"
+fi
+if [ $attr -ne 2 ]; then
+	_notrun "need attr v2 on $SCRATCH_DEV"
+fi
 
 # set inum to root dir ino
 # we'll add in dirents and EAs into the root directory
-- 
2.5.5


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH] xfs/186: run test on expected XFS configuration
@ 2016-06-21 12:01 ` Eryu Guan
  0 siblings, 0 replies; 4+ messages in thread
From: Eryu Guan @ 2016-06-21 12:01 UTC (permalink / raw)
  To: fstests; +Cc: Eryu Guan, xfs

Usually xfs/186 _notrun on crc enabled XFS because of
_require_attr_v1, since v2 attr format is always enabled on v5 XFS.

But when testing on 512B block size XFS, i.e. MKFS_OPTIONS="-m crc=0
-b size=512", test fails. This is because crc enalbed XFS was
created in the end, not 512B block size XFS with crc disabled, and
that's not what we want to test.

The reason why _scratch_mkfs_xfs creates a different XFS than
expected is that, it may ignore $MKFS_OPTIONS if mkfs fails due to
conflicts between $MKFS_OPTIONS and the provided mkfs options.

In the case of xfs/186, "-b size=512" conflicts with "-i size=512",
and the first mkfs fails, then it ends up with a 4k block size XFS
with crc enabled (the default config).

Fix it by checking crc enablement status and attr version in the
test, to make sure it's testing on expected XFS.

Signed-off-by: Eryu Guan <eguan@redhat.com>
---
 tests/xfs/186 | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/tests/xfs/186 b/tests/xfs/186
index 9b64d6c..192a8c8 100755
--- a/tests/xfs/186
+++ b/tests/xfs/186
@@ -156,7 +156,20 @@ _require_attr_v1
 
 rm -f $seqres.full
 
-_scratch_mkfs -i attr=2,size=512 -l lazy-count=1 >/dev/null 2>&1
+_scratch_mkfs -i attr=2,size=512 -l lazy-count=1 | _filter_mkfs \
+	>>$seqres.full 2>$tmp.mkfs
+# import crc status and attr version
+. $tmp.mkfs
+
+# _scratch_mkfs may ignore $MKFS_OPTIONS if mkfs fails due to conflicts between
+# $MKFS_OPTIONS and the provided mkfs options, which could result in creating
+# an XFS we don't want. Check crc status and attr version to be sure.
+if [ $_fs_has_crcs -eq 1 ]; then
+	_notrun "attr v1 not supported on $SCRATCH_DEV"
+fi
+if [ $attr -ne 2 ]; then
+	_notrun "need attr v2 on $SCRATCH_DEV"
+fi
 
 # set inum to root dir ino
 # we'll add in dirents and EAs into the root directory
-- 
2.5.5

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] xfs/186: run test on expected XFS configuration
  2016-06-21 12:01 ` Eryu Guan
@ 2016-06-21 23:47   ` Dave Chinner
  -1 siblings, 0 replies; 4+ messages in thread
From: Dave Chinner @ 2016-06-21 23:47 UTC (permalink / raw)
  To: Eryu Guan; +Cc: fstests, xfs

On Tue, Jun 21, 2016 at 08:01:47PM +0800, Eryu Guan wrote:
> Usually xfs/186 _notrun on crc enabled XFS because of
> _require_attr_v1, since v2 attr format is always enabled on v5 XFS.
> 
> But when testing on 512B block size XFS, i.e. MKFS_OPTIONS="-m crc=0
> -b size=512", test fails. This is because crc enalbed XFS was

*enabled

> created in the end, not 512B block size XFS with crc disabled, and
> that's not what we want to test.
> 
> The reason why _scratch_mkfs_xfs creates a different XFS than
> expected is that, it may ignore $MKFS_OPTIONS if mkfs fails due to
> conflicts between $MKFS_OPTIONS and the provided mkfs options.
> 
> In the case of xfs/186, "-b size=512" conflicts with "-i size=512",
> and the first mkfs fails, then it ends up with a 4k block size XFS
> with crc enabled (the default config).
> 
> Fix it by checking crc enablement status and attr version in the
> test, to make sure it's testing on expected XFS.
> 
> Signed-off-by: Eryu Guan <eguan@redhat.com>

Looks fine.

Reviewed-by: Dave Chinner <dchinner@redhat.com>

-- 
Dave Chinner
david@fromorbit.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] xfs/186: run test on expected XFS configuration
@ 2016-06-21 23:47   ` Dave Chinner
  0 siblings, 0 replies; 4+ messages in thread
From: Dave Chinner @ 2016-06-21 23:47 UTC (permalink / raw)
  To: Eryu Guan; +Cc: fstests, xfs

On Tue, Jun 21, 2016 at 08:01:47PM +0800, Eryu Guan wrote:
> Usually xfs/186 _notrun on crc enabled XFS because of
> _require_attr_v1, since v2 attr format is always enabled on v5 XFS.
> 
> But when testing on 512B block size XFS, i.e. MKFS_OPTIONS="-m crc=0
> -b size=512", test fails. This is because crc enalbed XFS was

*enabled

> created in the end, not 512B block size XFS with crc disabled, and
> that's not what we want to test.
> 
> The reason why _scratch_mkfs_xfs creates a different XFS than
> expected is that, it may ignore $MKFS_OPTIONS if mkfs fails due to
> conflicts between $MKFS_OPTIONS and the provided mkfs options.
> 
> In the case of xfs/186, "-b size=512" conflicts with "-i size=512",
> and the first mkfs fails, then it ends up with a 4k block size XFS
> with crc enabled (the default config).
> 
> Fix it by checking crc enablement status and attr version in the
> test, to make sure it's testing on expected XFS.
> 
> Signed-off-by: Eryu Guan <eguan@redhat.com>

Looks fine.

Reviewed-by: Dave Chinner <dchinner@redhat.com>

-- 
Dave Chinner
david@fromorbit.com

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-06-21 23:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-21 12:01 [PATCH] xfs/186: run test on expected XFS configuration Eryu Guan
2016-06-21 12:01 ` Eryu Guan
2016-06-21 23:47 ` Dave Chinner
2016-06-21 23:47   ` Dave Chinner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.