All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] xfs/191: update mkfs.xfs input results
@ 2019-06-13  8:31 Yang Xu
  2019-06-16 14:39 ` Eryu Guan
  0 siblings, 1 reply; 9+ messages in thread
From: Yang Xu @ 2019-06-13  8:31 UTC (permalink / raw)
  To: guaneryu, darrick.wong; +Cc: fstests, Yang Xu

Currently, on 5.2.0-rc4+ kernel, when I run xfs/191-input-validation with upstream xfsprogs,
I get the following errors because mkfs.xfs binary has changed a lot.

--------------------------
PLATFORM      -- Linux/x86_64  5.2.0-rc4+
MKFS_OPTIONS  -- -f -bsize=4096 /dev/sda11
MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/sda11 /mnt/xfstests/scratch

pass -n size=2b /dev/sda11
pass -d agsize=8192b /dev/sda11
pass -d agsize=65536s /dev/sda11
pass -d su=0,sw=64 /dev/sda11
pass -d su=4096s,sw=64 /dev/sda11
pass -d su=4096b,sw=64 /dev/sda11
pass -l su=10b /dev/sda11
fail -n log=15 /dev/sda11
fail -r size=65536,rtdev=$fsimg /dev/sda11
fail -r rtdev=$fsimg /dev/sda11
fail -i log=10 /dev/sda11
--------------------------

"pass -d su=0,sw=64 /dev/sda11", expect fail, this behavior has been fixed by commit 16adcb88:
(mkfs: more sunit/swidth sanity checking).

"fail -n log=15 /dev/sda11" "fail -i log=10 /dev/sda11", expect pass, this option has been removed
since commit 2cf637c(mkfs: remove logarithm based CLI option).

"fail -r size=65536,rtdev=$fsimg /dev/sda11" "fail -r rtdev=$fsimg /dev/sda11" works well if we disable
reflink, fail if we enable reflink. It fails because reflink was not supported in realtime devices
since commit bfa66ec.

I change the expected result for compatibility with current xfsprogs and add rtdev test with reflink .

Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
---
 tests/xfs/191-input-validation | 36 ++++++++++++++++++++++------------
 1 file changed, 24 insertions(+), 12 deletions(-)

diff --git a/tests/xfs/191-input-validation b/tests/xfs/191-input-validation
index b6658015..9fe72051 100755
--- a/tests/xfs/191-input-validation
+++ b/tests/xfs/191-input-validation
@@ -112,10 +112,11 @@ do_mkfs_fail -b size=2b $SCRATCH_DEV
 do_mkfs_fail -b size=nfi $SCRATCH_DEV
 do_mkfs_fail -b size=4096nfi $SCRATCH_DEV
 do_mkfs_fail -n size=2s $SCRATCH_DEV
-do_mkfs_fail -n size=2b $SCRATCH_DEV
 do_mkfs_fail -n size=nfi $SCRATCH_DEV
 do_mkfs_fail -n size=4096nfi $SCRATCH_DEV
 
+do_mkfs_pass -n size=2b $SCRATCH_DEV
+
 # bad label length
 do_mkfs_fail -L thisiswaytoolong $SCRATCH_DEV
 
@@ -129,6 +130,8 @@ do_mkfs_pass -d agsize=32M $SCRATCH_DEV
 do_mkfs_pass -d agsize=1g $SCRATCH_DEV
 do_mkfs_pass -d agsize=$((32 * 1024 * 1024)) $SCRATCH_DEV
 do_mkfs_pass -b size=4096 -d agsize=8192b $SCRATCH_DEV
+do_mkfs_pass -d agsize=8192b $SCRATCH_DEV
+do_mkfs_pass -d agsize=65536s $SCRATCH_DEV
 do_mkfs_pass -d sectsize=512,agsize=65536s $SCRATCH_DEV
 do_mkfs_pass -s size=512 -d agsize=65536s $SCRATCH_DEV
 do_mkfs_pass -d noalign $SCRATCH_DEV
@@ -136,7 +139,10 @@ do_mkfs_pass -d sunit=0,swidth=0 $SCRATCH_DEV
 do_mkfs_pass -d sunit=8,swidth=8 $SCRATCH_DEV
 do_mkfs_pass -d sunit=8,swidth=64 $SCRATCH_DEV
 do_mkfs_pass -d su=0,sw=0 $SCRATCH_DEV
+do_mkfs_pass -d su=0,sw=64 $SCRATCH_DEV
 do_mkfs_pass -d su=4096,sw=1 $SCRATCH_DEV
+do_mkfs_pass -d su=4096s,sw=64 $SCRATCH_DEV
+do_mkfs_pass -d su=4096b,sw=64 $SCRATCH_DEV
 do_mkfs_pass -d su=4k,sw=1 $SCRATCH_DEV
 do_mkfs_pass -d su=4K,sw=8 $SCRATCH_DEV
 do_mkfs_pass -b size=4096 -d su=1b,sw=8 $SCRATCH_DEV
@@ -147,8 +153,6 @@ do_mkfs_pass -s size=512 -d su=8s,sw=8 $SCRATCH_DEV
 do_mkfs_fail -d size=${fssize}b $SCRATCH_DEV
 do_mkfs_fail -d size=${fssize}s $SCRATCH_DEV
 do_mkfs_fail -d size=${fssize}yerk $SCRATCH_DEV
-do_mkfs_fail -d agsize=8192b $SCRATCH_DEV
-do_mkfs_fail -d agsize=65536s $SCRATCH_DEV
 do_mkfs_fail -d agsize=32Mbsdfsdo $SCRATCH_DEV
 do_mkfs_fail -d agsize=1GB $SCRATCH_DEV
 do_mkfs_fail -d agcount=1k $SCRATCH_DEV
@@ -159,13 +163,10 @@ do_mkfs_fail -d sunit=64,swidth=0 $SCRATCH_DEV
 do_mkfs_fail -d sunit=64,swidth=64,noalign $SCRATCH_DEV
 do_mkfs_fail -d sunit=64k,swidth=64 $SCRATCH_DEV
 do_mkfs_fail -d sunit=64,swidth=64m $SCRATCH_DEV
-do_mkfs_fail -d su=0,sw=64 $SCRATCH_DEV
 do_mkfs_fail -d su=4096,sw=0 $SCRATCH_DEV
 do_mkfs_fail -d su=4097,sw=1 $SCRATCH_DEV
 do_mkfs_fail -d su=4096,sw=64,noalign $SCRATCH_DEV
 do_mkfs_fail -d su=4096,sw=64s $SCRATCH_DEV
-do_mkfs_fail -d su=4096s,sw=64 $SCRATCH_DEV
-do_mkfs_fail -d su=4096b,sw=64 $SCRATCH_DEV
 do_mkfs_fail -d su=4096garabge,sw=64 $SCRATCH_DEV
 do_mkfs_fail -d su=4096,sw=64,sunit=64,swidth=64 $SCRATCH_DEV
 do_mkfs_fail -d sectsize=10,agsize=65536s $SCRATCH_DEV
@@ -206,6 +207,7 @@ do_mkfs_pass -l sunit=64 $SCRATCH_DEV
 do_mkfs_pass -l sunit=64 -d sunit=8,swidth=8 $SCRATCH_DEV
 do_mkfs_pass -l sunit=8 $SCRATCH_DEV
 do_mkfs_pass -l su=$((4096*10)) $SCRATCH_DEV
+do_mkfs_pass -l su=10b $SCRATCH_DEV
 do_mkfs_pass -b size=4096 -l su=10b $SCRATCH_DEV
 do_mkfs_pass -l sectsize=512,su=$((4096*10)) $SCRATCH_DEV
 do_mkfs_pass -l internal $SCRATCH_DEV
@@ -228,7 +230,6 @@ do_mkfs_fail -l agnum=32 $SCRATCH_DEV
 do_mkfs_fail -l sunit=0  $SCRATCH_DEV
 do_mkfs_fail -l sunit=63 $SCRATCH_DEV
 do_mkfs_fail -l su=1 $SCRATCH_DEV
-do_mkfs_fail -l su=10b $SCRATCH_DEV
 do_mkfs_fail -l su=10s $SCRATCH_DEV
 do_mkfs_fail -l su=$((4096*10+1)) $SCRATCH_DEV
 do_mkfs_fail -l sectsize=10,agsize=65536s $SCRATCH_DEV
@@ -246,7 +247,6 @@ do_mkfs_fail -l version=0  $SCRATCH_DEV
 
 # naming section, should pass
 do_mkfs_pass -n size=65536 $SCRATCH_DEV
-do_mkfs_pass -n log=15 $SCRATCH_DEV
 do_mkfs_pass -n version=2 $SCRATCH_DEV
 do_mkfs_pass -n version=ci $SCRATCH_DEV
 do_mkfs_pass -n ftype=0 -m crc=0 $SCRATCH_DEV
@@ -257,6 +257,7 @@ do_mkfs_fail -n version=1 $SCRATCH_DEV
 do_mkfs_fail -n version=cid $SCRATCH_DEV
 do_mkfs_fail -n ftype=4 $SCRATCH_DEV
 do_mkfs_fail -n ftype=0 $SCRATCH_DEV
+do_mkfs_fail -n log=15 $SCRATCH_DEV
 
 reset_fsimg
 
@@ -273,14 +274,24 @@ do_mkfs_fail -m crc=0,finobt=1 $SCRATCH_DEV
 do_mkfs_fail -m crc=1 -n ftype=0 $SCRATCH_DEV
 
 
+# realtime section, results depend on reflink
+$MKFS_XFS_PROG -f -m reflink=0 $SCRATCH_DEV >/dev/null 2>&1
+if [ $? -eq 0 ]; then
+	do_mkfs_pass -m reflink=0 -r rtdev=$fsimg $SCRATCH_DEV
+	do_mkfs_pass -m reflink=0 -r size=65536,rtdev=$fsimg $SCRATCH_DEV
+	do_mkfs_fail -m reflink=1 -r rtdev=$fsimg $SCRATCH_DEV
+	do_mkfs_fail -m reflink=1 -r size=65536,rtdev=$fsimg $SCRATCH_DEV
+else
+	do_mkfs_pass -r rtdev=$fsimg $SCRATCH_DEV
+	do_mkfs_pass -r size=65536,rtdev=$fsimg $SCRATCH_DEV
+fi
+
+
 # realtime section, should pass
-do_mkfs_pass -r rtdev=$fsimg $SCRATCH_DEV
 do_mkfs_pass -r extsize=4k $SCRATCH_DEV
 do_mkfs_pass -r extsize=1G $SCRATCH_DEV
-do_mkfs_pass -r size=65536,rtdev=$fsimg $SCRATCH_DEV
 do_mkfs_pass -r noalign $SCRATCH_DEV
 
-
 # realtime section, should fail
 do_mkfs_fail -r rtdev=$SCRATCH_DEV
 do_mkfs_fail -r extsize=256 $SCRATCH_DEV
@@ -293,7 +304,6 @@ do_mkfs_fail -r size=65536 $SCRATCH_DEV
 do_mkfs_pass -i size=256 -m crc=0 $SCRATCH_DEV
 do_mkfs_pass -i size=512 $SCRATCH_DEV
 do_mkfs_pass -i size=2048 $SCRATCH_DEV
-do_mkfs_pass -i log=10 $SCRATCH_DEV
 do_mkfs_pass -i perblock=2 $SCRATCH_DEV
 do_mkfs_pass -i maxpct=10 $SCRATCH_DEV
 do_mkfs_pass -i maxpct=100 $SCRATCH_DEV
@@ -317,6 +327,8 @@ do_mkfs_fail -i align=2 $SCRATCH_DEV
 do_mkfs_fail -i sparse -m crc=0 $SCRATCH_DEV
 do_mkfs_fail -i align=0 -m crc=1 $SCRATCH_DEV
 do_mkfs_fail -i attr=1 -m crc=1 $SCRATCH_DEV
+do_mkfs_fail -i log=10 $SCRATCH_DEV
+
 
 status=0
 exit
-- 
2.18.1

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

* Re: [PATCH v2] xfs/191: update mkfs.xfs input results
  2019-06-13  8:31 [PATCH v2] xfs/191: update mkfs.xfs input results Yang Xu
@ 2019-06-16 14:39 ` Eryu Guan
  2019-06-19  7:39   ` [PATCH v3] " Yang Xu
  2019-06-19  7:58   ` [PATCH v2] " Yang Xu
  0 siblings, 2 replies; 9+ messages in thread
From: Eryu Guan @ 2019-06-16 14:39 UTC (permalink / raw)
  To: Yang Xu; +Cc: darrick.wong, fstests, linux-xfs

[cc xfs list for xfs specific test]

On Thu, Jun 13, 2019 at 04:31:41PM +0800, Yang Xu wrote:
> Currently, on 5.2.0-rc4+ kernel, when I run xfs/191-input-validation with upstream xfsprogs,
> I get the following errors because mkfs.xfs binary has changed a lot.

Lines are too long for commit log, please wrap at column 68.

> 
> --------------------------
> PLATFORM      -- Linux/x86_64  5.2.0-rc4+
> MKFS_OPTIONS  -- -f -bsize=4096 /dev/sda11
> MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/sda11 /mnt/xfstests/scratch

But these quotes don't need to be wrapped.

> 
> pass -n size=2b /dev/sda11
> pass -d agsize=8192b /dev/sda11
> pass -d agsize=65536s /dev/sda11
> pass -d su=0,sw=64 /dev/sda11
> pass -d su=4096s,sw=64 /dev/sda11
> pass -d su=4096b,sw=64 /dev/sda11
> pass -l su=10b /dev/sda11
> fail -n log=15 /dev/sda11
> fail -r size=65536,rtdev=$fsimg /dev/sda11
> fail -r rtdev=$fsimg /dev/sda11
> fail -i log=10 /dev/sda11
> --------------------------
> 
> "pass -d su=0,sw=64 /dev/sda11", expect fail, this behavior has been fixed by commit 16adcb88:
> (mkfs: more sunit/swidth sanity checking).
> 
> "fail -n log=15 /dev/sda11" "fail -i log=10 /dev/sda11", expect pass, this option has been removed
> since commit 2cf637c(mkfs: remove logarithm based CLI option).
> 
> "fail -r size=65536,rtdev=$fsimg /dev/sda11" "fail -r rtdev=$fsimg /dev/sda11" works well if we disable
> reflink, fail if we enable reflink. It fails because reflink was not supported in realtime devices
> since commit bfa66ec.
> 
> I change the expected result for compatibility with current xfsprogs and add rtdev test with reflink .
> 
> Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>

I noticed Darrick provided a Reviewed-by tag, but as Darrick also noted,
it'd be good to know what do other xfs maintainers think about this
test.

> ---
>  tests/xfs/191-input-validation | 36 ++++++++++++++++++++++------------
>  1 file changed, 24 insertions(+), 12 deletions(-)
> 
> diff --git a/tests/xfs/191-input-validation b/tests/xfs/191-input-validation
> index b6658015..9fe72051 100755
> --- a/tests/xfs/191-input-validation
> +++ b/tests/xfs/191-input-validation
> @@ -112,10 +112,11 @@ do_mkfs_fail -b size=2b $SCRATCH_DEV
>  do_mkfs_fail -b size=nfi $SCRATCH_DEV
>  do_mkfs_fail -b size=4096nfi $SCRATCH_DEV
>  do_mkfs_fail -n size=2s $SCRATCH_DEV
> -do_mkfs_fail -n size=2b $SCRATCH_DEV
>  do_mkfs_fail -n size=nfi $SCRATCH_DEV
>  do_mkfs_fail -n size=4096nfi $SCRATCH_DEV
>  
> +do_mkfs_pass -n size=2b $SCRATCH_DEV
> +
>  # bad label length
>  do_mkfs_fail -L thisiswaytoolong $SCRATCH_DEV
>  
> @@ -129,6 +130,8 @@ do_mkfs_pass -d agsize=32M $SCRATCH_DEV
>  do_mkfs_pass -d agsize=1g $SCRATCH_DEV
>  do_mkfs_pass -d agsize=$((32 * 1024 * 1024)) $SCRATCH_DEV
>  do_mkfs_pass -b size=4096 -d agsize=8192b $SCRATCH_DEV
> +do_mkfs_pass -d agsize=8192b $SCRATCH_DEV
> +do_mkfs_pass -d agsize=65536s $SCRATCH_DEV
>  do_mkfs_pass -d sectsize=512,agsize=65536s $SCRATCH_DEV
>  do_mkfs_pass -s size=512 -d agsize=65536s $SCRATCH_DEV
>  do_mkfs_pass -d noalign $SCRATCH_DEV
> @@ -136,7 +139,10 @@ do_mkfs_pass -d sunit=0,swidth=0 $SCRATCH_DEV
>  do_mkfs_pass -d sunit=8,swidth=8 $SCRATCH_DEV
>  do_mkfs_pass -d sunit=8,swidth=64 $SCRATCH_DEV
>  do_mkfs_pass -d su=0,sw=0 $SCRATCH_DEV
> +do_mkfs_pass -d su=0,sw=64 $SCRATCH_DEV
>  do_mkfs_pass -d su=4096,sw=1 $SCRATCH_DEV
> +do_mkfs_pass -d su=4096s,sw=64 $SCRATCH_DEV
> +do_mkfs_pass -d su=4096b,sw=64 $SCRATCH_DEV
>  do_mkfs_pass -d su=4k,sw=1 $SCRATCH_DEV
>  do_mkfs_pass -d su=4K,sw=8 $SCRATCH_DEV
>  do_mkfs_pass -b size=4096 -d su=1b,sw=8 $SCRATCH_DEV
> @@ -147,8 +153,6 @@ do_mkfs_pass -s size=512 -d su=8s,sw=8 $SCRATCH_DEV
>  do_mkfs_fail -d size=${fssize}b $SCRATCH_DEV
>  do_mkfs_fail -d size=${fssize}s $SCRATCH_DEV
>  do_mkfs_fail -d size=${fssize}yerk $SCRATCH_DEV
> -do_mkfs_fail -d agsize=8192b $SCRATCH_DEV
> -do_mkfs_fail -d agsize=65536s $SCRATCH_DEV
>  do_mkfs_fail -d agsize=32Mbsdfsdo $SCRATCH_DEV
>  do_mkfs_fail -d agsize=1GB $SCRATCH_DEV
>  do_mkfs_fail -d agcount=1k $SCRATCH_DEV
> @@ -159,13 +163,10 @@ do_mkfs_fail -d sunit=64,swidth=0 $SCRATCH_DEV
>  do_mkfs_fail -d sunit=64,swidth=64,noalign $SCRATCH_DEV
>  do_mkfs_fail -d sunit=64k,swidth=64 $SCRATCH_DEV
>  do_mkfs_fail -d sunit=64,swidth=64m $SCRATCH_DEV
> -do_mkfs_fail -d su=0,sw=64 $SCRATCH_DEV
>  do_mkfs_fail -d su=4096,sw=0 $SCRATCH_DEV
>  do_mkfs_fail -d su=4097,sw=1 $SCRATCH_DEV
>  do_mkfs_fail -d su=4096,sw=64,noalign $SCRATCH_DEV
>  do_mkfs_fail -d su=4096,sw=64s $SCRATCH_DEV
> -do_mkfs_fail -d su=4096s,sw=64 $SCRATCH_DEV
> -do_mkfs_fail -d su=4096b,sw=64 $SCRATCH_DEV
>  do_mkfs_fail -d su=4096garabge,sw=64 $SCRATCH_DEV
>  do_mkfs_fail -d su=4096,sw=64,sunit=64,swidth=64 $SCRATCH_DEV
>  do_mkfs_fail -d sectsize=10,agsize=65536s $SCRATCH_DEV
> @@ -206,6 +207,7 @@ do_mkfs_pass -l sunit=64 $SCRATCH_DEV
>  do_mkfs_pass -l sunit=64 -d sunit=8,swidth=8 $SCRATCH_DEV
>  do_mkfs_pass -l sunit=8 $SCRATCH_DEV
>  do_mkfs_pass -l su=$((4096*10)) $SCRATCH_DEV
> +do_mkfs_pass -l su=10b $SCRATCH_DEV
>  do_mkfs_pass -b size=4096 -l su=10b $SCRATCH_DEV
>  do_mkfs_pass -l sectsize=512,su=$((4096*10)) $SCRATCH_DEV
>  do_mkfs_pass -l internal $SCRATCH_DEV
> @@ -228,7 +230,6 @@ do_mkfs_fail -l agnum=32 $SCRATCH_DEV
>  do_mkfs_fail -l sunit=0  $SCRATCH_DEV
>  do_mkfs_fail -l sunit=63 $SCRATCH_DEV
>  do_mkfs_fail -l su=1 $SCRATCH_DEV
> -do_mkfs_fail -l su=10b $SCRATCH_DEV
>  do_mkfs_fail -l su=10s $SCRATCH_DEV
>  do_mkfs_fail -l su=$((4096*10+1)) $SCRATCH_DEV
>  do_mkfs_fail -l sectsize=10,agsize=65536s $SCRATCH_DEV
> @@ -246,7 +247,6 @@ do_mkfs_fail -l version=0  $SCRATCH_DEV
>  
>  # naming section, should pass
>  do_mkfs_pass -n size=65536 $SCRATCH_DEV
> -do_mkfs_pass -n log=15 $SCRATCH_DEV
>  do_mkfs_pass -n version=2 $SCRATCH_DEV
>  do_mkfs_pass -n version=ci $SCRATCH_DEV
>  do_mkfs_pass -n ftype=0 -m crc=0 $SCRATCH_DEV
> @@ -257,6 +257,7 @@ do_mkfs_fail -n version=1 $SCRATCH_DEV
>  do_mkfs_fail -n version=cid $SCRATCH_DEV
>  do_mkfs_fail -n ftype=4 $SCRATCH_DEV
>  do_mkfs_fail -n ftype=0 $SCRATCH_DEV
> +do_mkfs_fail -n log=15 $SCRATCH_DEV
>  
>  reset_fsimg
>  
> @@ -273,14 +274,24 @@ do_mkfs_fail -m crc=0,finobt=1 $SCRATCH_DEV
>  do_mkfs_fail -m crc=1 -n ftype=0 $SCRATCH_DEV
>  
>  
> +# realtime section, results depend on reflink
> +$MKFS_XFS_PROG -f -m reflink=0 $SCRATCH_DEV >/dev/null 2>&1

_scratch_mkfs_xfs_supported -m reflink=0 >/dev/null 2>&1

This helper doesn't actually create new fs but tests the given param
with a dry run.

And I think we need _require_scratch_nocheck instead of
_require_scratch, as we test mkfs function and do wipefs $SCRATCH_DEV
before every test now.

Thanks,
Eryu

> +if [ $? -eq 0 ]; then
> +	do_mkfs_pass -m reflink=0 -r rtdev=$fsimg $SCRATCH_DEV
> +	do_mkfs_pass -m reflink=0 -r size=65536,rtdev=$fsimg $SCRATCH_DEV
> +	do_mkfs_fail -m reflink=1 -r rtdev=$fsimg $SCRATCH_DEV
> +	do_mkfs_fail -m reflink=1 -r size=65536,rtdev=$fsimg $SCRATCH_DEV
> +else
> +	do_mkfs_pass -r rtdev=$fsimg $SCRATCH_DEV
> +	do_mkfs_pass -r size=65536,rtdev=$fsimg $SCRATCH_DEV
> +fi
> +
> +
>  # realtime section, should pass
> -do_mkfs_pass -r rtdev=$fsimg $SCRATCH_DEV
>  do_mkfs_pass -r extsize=4k $SCRATCH_DEV
>  do_mkfs_pass -r extsize=1G $SCRATCH_DEV
> -do_mkfs_pass -r size=65536,rtdev=$fsimg $SCRATCH_DEV
>  do_mkfs_pass -r noalign $SCRATCH_DEV
>  
> -
>  # realtime section, should fail
>  do_mkfs_fail -r rtdev=$SCRATCH_DEV
>  do_mkfs_fail -r extsize=256 $SCRATCH_DEV
> @@ -293,7 +304,6 @@ do_mkfs_fail -r size=65536 $SCRATCH_DEV
>  do_mkfs_pass -i size=256 -m crc=0 $SCRATCH_DEV
>  do_mkfs_pass -i size=512 $SCRATCH_DEV
>  do_mkfs_pass -i size=2048 $SCRATCH_DEV
> -do_mkfs_pass -i log=10 $SCRATCH_DEV
>  do_mkfs_pass -i perblock=2 $SCRATCH_DEV
>  do_mkfs_pass -i maxpct=10 $SCRATCH_DEV
>  do_mkfs_pass -i maxpct=100 $SCRATCH_DEV
> @@ -317,6 +327,8 @@ do_mkfs_fail -i align=2 $SCRATCH_DEV
>  do_mkfs_fail -i sparse -m crc=0 $SCRATCH_DEV
>  do_mkfs_fail -i align=0 -m crc=1 $SCRATCH_DEV
>  do_mkfs_fail -i attr=1 -m crc=1 $SCRATCH_DEV
> +do_mkfs_fail -i log=10 $SCRATCH_DEV
> +
>  
>  status=0
>  exit
> -- 
> 2.18.1
> 
> 
> 

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

* [PATCH v3] xfs/191: update mkfs.xfs input results
  2019-06-16 14:39 ` Eryu Guan
@ 2019-06-19  7:39   ` Yang Xu
  2020-03-25 12:37     ` Christoph Hellwig
  2020-03-26  5:39     ` Zorro Lang
  2019-06-19  7:58   ` [PATCH v2] " Yang Xu
  1 sibling, 2 replies; 9+ messages in thread
From: Yang Xu @ 2019-06-19  7:39 UTC (permalink / raw)
  To: guaneryu, darrick.wong; +Cc: fstests, linux-xfs, Yang Xu

Currently, on 5.2.0-rc4+ kernel, when I run xfs/191 with upstream
xfsprogs, I get the following errors because mkfs.xfs binary has
changed a lot.

-------------------------
pass -n size=2b /dev/sda11
pass -d agsize=8192b /dev/sda11
pass -d agsize=65536s /dev/sda11
pass -d su=0,sw=64 /dev/sda11
pass -d su=4096s,sw=64 /dev/sda11
pass -d su=4096b,sw=64 /dev/sda11
pass -l su=10b /dev/sda11
fail -n log=15 /dev/sda11
fail -r size=65536,rtdev=$fsimg /dev/sda11
fail -r rtdev=$fsimg /dev/sda11
fail -i log=10 /dev/sda11
--------------------------

"pass -d su=0,sw=64 /dev/sda11", expect fail, this behavior has been
fixed by commit 16adcb88(mkfs: more sunit/swidth sanity checking).

"fail -n log=15 /dev/sda11" "fail -i log=10 /dev/sda11", expect pass,
this option has been removed since commit 2cf637c(mkfs: remove
logarithm based CLI option).

"fail -r size=65536,rtdev=$fsimg /dev/sda11" "fail -r rtdev=$fsimg
/dev/sda11" works well if we disable reflink, fail if we enable
reflink. It fails because reflink was not supported in realtime
devices since commit bfa66ec.

"b" or "s" suffix without specifying their size has been supported 
since xfsprogs v4.15.0-rc1.

I change the expected result for compatibility with current xfsprogs
and add rtdev test with reflink.

Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
---
 tests/xfs/191-input-validation | 39 ++++++++++++++++++++++------------
 1 file changed, 25 insertions(+), 14 deletions(-)

diff --git a/tests/xfs/191-input-validation b/tests/xfs/191-input-validation
index b6658015..9f8de500 100755
--- a/tests/xfs/191-input-validation
+++ b/tests/xfs/191-input-validation
@@ -31,11 +31,10 @@ _cleanup()
 # Modify as appropriate.
 _supported_fs xfs
 _supported_os Linux
-_require_scratch
+_require_scratch_nocheck
 _require_xfs_mkfs_validation
 
 
-
 rm -f $seqres.full
 echo silence is golden
 
@@ -112,10 +111,11 @@ do_mkfs_fail -b size=2b $SCRATCH_DEV
 do_mkfs_fail -b size=nfi $SCRATCH_DEV
 do_mkfs_fail -b size=4096nfi $SCRATCH_DEV
 do_mkfs_fail -n size=2s $SCRATCH_DEV
-do_mkfs_fail -n size=2b $SCRATCH_DEV
 do_mkfs_fail -n size=nfi $SCRATCH_DEV
 do_mkfs_fail -n size=4096nfi $SCRATCH_DEV
 
+do_mkfs_pass -n size=2b $SCRATCH_DEV
+
 # bad label length
 do_mkfs_fail -L thisiswaytoolong $SCRATCH_DEV
 
@@ -129,6 +129,8 @@ do_mkfs_pass -d agsize=32M $SCRATCH_DEV
 do_mkfs_pass -d agsize=1g $SCRATCH_DEV
 do_mkfs_pass -d agsize=$((32 * 1024 * 1024)) $SCRATCH_DEV
 do_mkfs_pass -b size=4096 -d agsize=8192b $SCRATCH_DEV
+do_mkfs_pass -d agsize=8192b $SCRATCH_DEV
+do_mkfs_pass -d agsize=65536s $SCRATCH_DEV
 do_mkfs_pass -d sectsize=512,agsize=65536s $SCRATCH_DEV
 do_mkfs_pass -s size=512 -d agsize=65536s $SCRATCH_DEV
 do_mkfs_pass -d noalign $SCRATCH_DEV
@@ -136,7 +138,10 @@ do_mkfs_pass -d sunit=0,swidth=0 $SCRATCH_DEV
 do_mkfs_pass -d sunit=8,swidth=8 $SCRATCH_DEV
 do_mkfs_pass -d sunit=8,swidth=64 $SCRATCH_DEV
 do_mkfs_pass -d su=0,sw=0 $SCRATCH_DEV
+do_mkfs_pass -d su=0,sw=64 $SCRATCH_DEV
 do_mkfs_pass -d su=4096,sw=1 $SCRATCH_DEV
+do_mkfs_pass -d su=4096s,sw=64 $SCRATCH_DEV
+do_mkfs_pass -d su=4096b,sw=64 $SCRATCH_DEV
 do_mkfs_pass -d su=4k,sw=1 $SCRATCH_DEV
 do_mkfs_pass -d su=4K,sw=8 $SCRATCH_DEV
 do_mkfs_pass -b size=4096 -d su=1b,sw=8 $SCRATCH_DEV
@@ -147,8 +152,6 @@ do_mkfs_pass -s size=512 -d su=8s,sw=8 $SCRATCH_DEV
 do_mkfs_fail -d size=${fssize}b $SCRATCH_DEV
 do_mkfs_fail -d size=${fssize}s $SCRATCH_DEV
 do_mkfs_fail -d size=${fssize}yerk $SCRATCH_DEV
-do_mkfs_fail -d agsize=8192b $SCRATCH_DEV
-do_mkfs_fail -d agsize=65536s $SCRATCH_DEV
 do_mkfs_fail -d agsize=32Mbsdfsdo $SCRATCH_DEV
 do_mkfs_fail -d agsize=1GB $SCRATCH_DEV
 do_mkfs_fail -d agcount=1k $SCRATCH_DEV
@@ -159,13 +162,10 @@ do_mkfs_fail -d sunit=64,swidth=0 $SCRATCH_DEV
 do_mkfs_fail -d sunit=64,swidth=64,noalign $SCRATCH_DEV
 do_mkfs_fail -d sunit=64k,swidth=64 $SCRATCH_DEV
 do_mkfs_fail -d sunit=64,swidth=64m $SCRATCH_DEV
-do_mkfs_fail -d su=0,sw=64 $SCRATCH_DEV
 do_mkfs_fail -d su=4096,sw=0 $SCRATCH_DEV
 do_mkfs_fail -d su=4097,sw=1 $SCRATCH_DEV
 do_mkfs_fail -d su=4096,sw=64,noalign $SCRATCH_DEV
 do_mkfs_fail -d su=4096,sw=64s $SCRATCH_DEV
-do_mkfs_fail -d su=4096s,sw=64 $SCRATCH_DEV
-do_mkfs_fail -d su=4096b,sw=64 $SCRATCH_DEV
 do_mkfs_fail -d su=4096garabge,sw=64 $SCRATCH_DEV
 do_mkfs_fail -d su=4096,sw=64,sunit=64,swidth=64 $SCRATCH_DEV
 do_mkfs_fail -d sectsize=10,agsize=65536s $SCRATCH_DEV
@@ -206,6 +206,7 @@ do_mkfs_pass -l sunit=64 $SCRATCH_DEV
 do_mkfs_pass -l sunit=64 -d sunit=8,swidth=8 $SCRATCH_DEV
 do_mkfs_pass -l sunit=8 $SCRATCH_DEV
 do_mkfs_pass -l su=$((4096*10)) $SCRATCH_DEV
+do_mkfs_pass -l su=10b $SCRATCH_DEV
 do_mkfs_pass -b size=4096 -l su=10b $SCRATCH_DEV
 do_mkfs_pass -l sectsize=512,su=$((4096*10)) $SCRATCH_DEV
 do_mkfs_pass -l internal $SCRATCH_DEV
@@ -228,7 +229,6 @@ do_mkfs_fail -l agnum=32 $SCRATCH_DEV
 do_mkfs_fail -l sunit=0  $SCRATCH_DEV
 do_mkfs_fail -l sunit=63 $SCRATCH_DEV
 do_mkfs_fail -l su=1 $SCRATCH_DEV
-do_mkfs_fail -l su=10b $SCRATCH_DEV
 do_mkfs_fail -l su=10s $SCRATCH_DEV
 do_mkfs_fail -l su=$((4096*10+1)) $SCRATCH_DEV
 do_mkfs_fail -l sectsize=10,agsize=65536s $SCRATCH_DEV
@@ -246,7 +246,6 @@ do_mkfs_fail -l version=0  $SCRATCH_DEV
 
 # naming section, should pass
 do_mkfs_pass -n size=65536 $SCRATCH_DEV
-do_mkfs_pass -n log=15 $SCRATCH_DEV
 do_mkfs_pass -n version=2 $SCRATCH_DEV
 do_mkfs_pass -n version=ci $SCRATCH_DEV
 do_mkfs_pass -n ftype=0 -m crc=0 $SCRATCH_DEV
@@ -257,6 +256,7 @@ do_mkfs_fail -n version=1 $SCRATCH_DEV
 do_mkfs_fail -n version=cid $SCRATCH_DEV
 do_mkfs_fail -n ftype=4 $SCRATCH_DEV
 do_mkfs_fail -n ftype=0 $SCRATCH_DEV
+do_mkfs_fail -n log=15 $SCRATCH_DEV
 
 reset_fsimg
 
@@ -273,14 +273,24 @@ do_mkfs_fail -m crc=0,finobt=1 $SCRATCH_DEV
 do_mkfs_fail -m crc=1 -n ftype=0 $SCRATCH_DEV
 
 
+# realtime section, results depend on reflink
+_scratch_mkfs_xfs_supported -m reflink=0 >/dev/null 2>&1
+if [ $? -eq 0 ]; then
+	do_mkfs_pass -m reflink=0 -r rtdev=$fsimg $SCRATCH_DEV
+	do_mkfs_pass -m reflink=0 -r size=65536,rtdev=$fsimg $SCRATCH_DEV
+	do_mkfs_fail -m reflink=1 -r rtdev=$fsimg $SCRATCH_DEV
+	do_mkfs_fail -m reflink=1 -r size=65536,rtdev=$fsimg $SCRATCH_DEV
+else
+	do_mkfs_pass -r rtdev=$fsimg $SCRATCH_DEV
+	do_mkfs_pass -r size=65536,rtdev=$fsimg $SCRATCH_DEV
+fi
+
+
 # realtime section, should pass
-do_mkfs_pass -r rtdev=$fsimg $SCRATCH_DEV
 do_mkfs_pass -r extsize=4k $SCRATCH_DEV
 do_mkfs_pass -r extsize=1G $SCRATCH_DEV
-do_mkfs_pass -r size=65536,rtdev=$fsimg $SCRATCH_DEV
 do_mkfs_pass -r noalign $SCRATCH_DEV
 
-
 # realtime section, should fail
 do_mkfs_fail -r rtdev=$SCRATCH_DEV
 do_mkfs_fail -r extsize=256 $SCRATCH_DEV
@@ -293,7 +303,6 @@ do_mkfs_fail -r size=65536 $SCRATCH_DEV
 do_mkfs_pass -i size=256 -m crc=0 $SCRATCH_DEV
 do_mkfs_pass -i size=512 $SCRATCH_DEV
 do_mkfs_pass -i size=2048 $SCRATCH_DEV
-do_mkfs_pass -i log=10 $SCRATCH_DEV
 do_mkfs_pass -i perblock=2 $SCRATCH_DEV
 do_mkfs_pass -i maxpct=10 $SCRATCH_DEV
 do_mkfs_pass -i maxpct=100 $SCRATCH_DEV
@@ -317,6 +326,8 @@ do_mkfs_fail -i align=2 $SCRATCH_DEV
 do_mkfs_fail -i sparse -m crc=0 $SCRATCH_DEV
 do_mkfs_fail -i align=0 -m crc=1 $SCRATCH_DEV
 do_mkfs_fail -i attr=1 -m crc=1 $SCRATCH_DEV
+do_mkfs_fail -i log=10 $SCRATCH_DEV
+
 
 status=0
 exit
-- 
2.18.1

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

* Re: [PATCH v2] xfs/191: update mkfs.xfs input results
  2019-06-16 14:39 ` Eryu Guan
  2019-06-19  7:39   ` [PATCH v3] " Yang Xu
@ 2019-06-19  7:58   ` Yang Xu
  1 sibling, 0 replies; 9+ messages in thread
From: Yang Xu @ 2019-06-19  7:58 UTC (permalink / raw)
  To: Eryu Guan; +Cc: darrick.wong, fstests, linux-xfs

on 2019/06/16 22:39, Eryu Guan wrote:

> [cc xfs list for xfs specific test]
>
> On Thu, Jun 13, 2019 at 04:31:41PM +0800, Yang Xu wrote:
>> Currently, on 5.2.0-rc4+ kernel, when I run xfs/191-input-validation with upstream xfsprogs,
>> I get the following errors because mkfs.xfs binary has changed a lot.
> Lines are too long for commit log, please wrap at column 68.
>
>> --------------------------
>> PLATFORM      -- Linux/x86_64  5.2.0-rc4+
>> MKFS_OPTIONS  -- -f -bsize=4096 /dev/sda11
>> MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/sda11 /mnt/xfstests/scratch
> But these quotes don't need to be wrapped.
>
>> pass -n size=2b /dev/sda11
>> pass -d agsize=8192b /dev/sda11
>> pass -d agsize=65536s /dev/sda11
>> pass -d su=0,sw=64 /dev/sda11
>> pass -d su=4096s,sw=64 /dev/sda11
>> pass -d su=4096b,sw=64 /dev/sda11
>> pass -l su=10b /dev/sda11
>> fail -n log=15 /dev/sda11
>> fail -r size=65536,rtdev=$fsimg /dev/sda11
>> fail -r rtdev=$fsimg /dev/sda11
>> fail -i log=10 /dev/sda11
>> --------------------------
>>
>> "pass -d su=0,sw=64 /dev/sda11", expect fail, this behavior has been fixed by commit 16adcb88:
>> (mkfs: more sunit/swidth sanity checking).
>>
>> "fail -n log=15 /dev/sda11" "fail -i log=10 /dev/sda11", expect pass, this option has been removed
>> since commit 2cf637c(mkfs: remove logarithm based CLI option).
>>
>> "fail -r size=65536,rtdev=$fsimg /dev/sda11" "fail -r rtdev=$fsimg /dev/sda11" works well if we disable
>> reflink, fail if we enable reflink. It fails because reflink was not supported in realtime devices
>> since commit bfa66ec.
>>
>> I change the expected result for compatibility with current xfsprogs and add rtdev test with reflink .
>>
>> Signed-off-by: Yang Xu<xuyang2018.jy@cn.fujitsu.com>
> I noticed Darrick provided a Reviewed-by tag, but as Darrick also noted,
> it'd be good to know what do other xfs maintainers think about this
> test.
>
Hi Eryu

I have sent a v3 patch about your comment.
Besides, I also want to know what other xfs maintainers think about this case. keep it or update it?
Let's wait for a short time.

Thanks
Yang Xu

>> ---
>>   tests/xfs/191-input-validation | 36 ++++++++++++++++++++++------------
>>   1 file changed, 24 insertions(+), 12 deletions(-)
>>
>> diff --git a/tests/xfs/191-input-validation b/tests/xfs/191-input-validation
>> index b6658015..9fe72051 100755
>> --- a/tests/xfs/191-input-validation
>> +++ b/tests/xfs/191-input-validation
>> @@ -112,10 +112,11 @@ do_mkfs_fail -b size=2b $SCRATCH_DEV
>>   do_mkfs_fail -b size=nfi $SCRATCH_DEV
>>   do_mkfs_fail -b size=4096nfi $SCRATCH_DEV
>>   do_mkfs_fail -n size=2s $SCRATCH_DEV
>> -do_mkfs_fail -n size=2b $SCRATCH_DEV
>>   do_mkfs_fail -n size=nfi $SCRATCH_DEV
>>   do_mkfs_fail -n size=4096nfi $SCRATCH_DEV
>>
>> +do_mkfs_pass -n size=2b $SCRATCH_DEV
>> +
>>   # bad label length
>>   do_mkfs_fail -L thisiswaytoolong $SCRATCH_DEV
>>
>> @@ -129,6 +130,8 @@ do_mkfs_pass -d agsize=32M $SCRATCH_DEV
>>   do_mkfs_pass -d agsize=1g $SCRATCH_DEV
>>   do_mkfs_pass -d agsize=$((32 * 1024 * 1024)) $SCRATCH_DEV
>>   do_mkfs_pass -b size=4096 -d agsize=8192b $SCRATCH_DEV
>> +do_mkfs_pass -d agsize=8192b $SCRATCH_DEV
>> +do_mkfs_pass -d agsize=65536s $SCRATCH_DEV
>>   do_mkfs_pass -d sectsize=512,agsize=65536s $SCRATCH_DEV
>>   do_mkfs_pass -s size=512 -d agsize=65536s $SCRATCH_DEV
>>   do_mkfs_pass -d noalign $SCRATCH_DEV
>> @@ -136,7 +139,10 @@ do_mkfs_pass -d sunit=0,swidth=0 $SCRATCH_DEV
>>   do_mkfs_pass -d sunit=8,swidth=8 $SCRATCH_DEV
>>   do_mkfs_pass -d sunit=8,swidth=64 $SCRATCH_DEV
>>   do_mkfs_pass -d su=0,sw=0 $SCRATCH_DEV
>> +do_mkfs_pass -d su=0,sw=64 $SCRATCH_DEV
>>   do_mkfs_pass -d su=4096,sw=1 $SCRATCH_DEV
>> +do_mkfs_pass -d su=4096s,sw=64 $SCRATCH_DEV
>> +do_mkfs_pass -d su=4096b,sw=64 $SCRATCH_DEV
>>   do_mkfs_pass -d su=4k,sw=1 $SCRATCH_DEV
>>   do_mkfs_pass -d su=4K,sw=8 $SCRATCH_DEV
>>   do_mkfs_pass -b size=4096 -d su=1b,sw=8 $SCRATCH_DEV
>> @@ -147,8 +153,6 @@ do_mkfs_pass -s size=512 -d su=8s,sw=8 $SCRATCH_DEV
>>   do_mkfs_fail -d size=${fssize}b $SCRATCH_DEV
>>   do_mkfs_fail -d size=${fssize}s $SCRATCH_DEV
>>   do_mkfs_fail -d size=${fssize}yerk $SCRATCH_DEV
>> -do_mkfs_fail -d agsize=8192b $SCRATCH_DEV
>> -do_mkfs_fail -d agsize=65536s $SCRATCH_DEV
>>   do_mkfs_fail -d agsize=32Mbsdfsdo $SCRATCH_DEV
>>   do_mkfs_fail -d agsize=1GB $SCRATCH_DEV
>>   do_mkfs_fail -d agcount=1k $SCRATCH_DEV
>> @@ -159,13 +163,10 @@ do_mkfs_fail -d sunit=64,swidth=0 $SCRATCH_DEV
>>   do_mkfs_fail -d sunit=64,swidth=64,noalign $SCRATCH_DEV
>>   do_mkfs_fail -d sunit=64k,swidth=64 $SCRATCH_DEV
>>   do_mkfs_fail -d sunit=64,swidth=64m $SCRATCH_DEV
>> -do_mkfs_fail -d su=0,sw=64 $SCRATCH_DEV
>>   do_mkfs_fail -d su=4096,sw=0 $SCRATCH_DEV
>>   do_mkfs_fail -d su=4097,sw=1 $SCRATCH_DEV
>>   do_mkfs_fail -d su=4096,sw=64,noalign $SCRATCH_DEV
>>   do_mkfs_fail -d su=4096,sw=64s $SCRATCH_DEV
>> -do_mkfs_fail -d su=4096s,sw=64 $SCRATCH_DEV
>> -do_mkfs_fail -d su=4096b,sw=64 $SCRATCH_DEV
>>   do_mkfs_fail -d su=4096garabge,sw=64 $SCRATCH_DEV
>>   do_mkfs_fail -d su=4096,sw=64,sunit=64,swidth=64 $SCRATCH_DEV
>>   do_mkfs_fail -d sectsize=10,agsize=65536s $SCRATCH_DEV
>> @@ -206,6 +207,7 @@ do_mkfs_pass -l sunit=64 $SCRATCH_DEV
>>   do_mkfs_pass -l sunit=64 -d sunit=8,swidth=8 $SCRATCH_DEV
>>   do_mkfs_pass -l sunit=8 $SCRATCH_DEV
>>   do_mkfs_pass -l su=$((4096*10)) $SCRATCH_DEV
>> +do_mkfs_pass -l su=10b $SCRATCH_DEV
>>   do_mkfs_pass -b size=4096 -l su=10b $SCRATCH_DEV
>>   do_mkfs_pass -l sectsize=512,su=$((4096*10)) $SCRATCH_DEV
>>   do_mkfs_pass -l internal $SCRATCH_DEV
>> @@ -228,7 +230,6 @@ do_mkfs_fail -l agnum=32 $SCRATCH_DEV
>>   do_mkfs_fail -l sunit=0  $SCRATCH_DEV
>>   do_mkfs_fail -l sunit=63 $SCRATCH_DEV
>>   do_mkfs_fail -l su=1 $SCRATCH_DEV
>> -do_mkfs_fail -l su=10b $SCRATCH_DEV
>>   do_mkfs_fail -l su=10s $SCRATCH_DEV
>>   do_mkfs_fail -l su=$((4096*10+1)) $SCRATCH_DEV
>>   do_mkfs_fail -l sectsize=10,agsize=65536s $SCRATCH_DEV
>> @@ -246,7 +247,6 @@ do_mkfs_fail -l version=0  $SCRATCH_DEV
>>
>>   # naming section, should pass
>>   do_mkfs_pass -n size=65536 $SCRATCH_DEV
>> -do_mkfs_pass -n log=15 $SCRATCH_DEV
>>   do_mkfs_pass -n version=2 $SCRATCH_DEV
>>   do_mkfs_pass -n version=ci $SCRATCH_DEV
>>   do_mkfs_pass -n ftype=0 -m crc=0 $SCRATCH_DEV
>> @@ -257,6 +257,7 @@ do_mkfs_fail -n version=1 $SCRATCH_DEV
>>   do_mkfs_fail -n version=cid $SCRATCH_DEV
>>   do_mkfs_fail -n ftype=4 $SCRATCH_DEV
>>   do_mkfs_fail -n ftype=0 $SCRATCH_DEV
>> +do_mkfs_fail -n log=15 $SCRATCH_DEV
>>
>>   reset_fsimg
>>
>> @@ -273,14 +274,24 @@ do_mkfs_fail -m crc=0,finobt=1 $SCRATCH_DEV
>>   do_mkfs_fail -m crc=1 -n ftype=0 $SCRATCH_DEV
>>
>>
>> +# realtime section, results depend on reflink
>> +$MKFS_XFS_PROG -f -m reflink=0 $SCRATCH_DEV>/dev/null 2>&1
> _scratch_mkfs_xfs_supported -m reflink=0>/dev/null 2>&1
>
> This helper doesn't actually create new fs but tests the given param
> with a dry run.
>
> And I think we need _require_scratch_nocheck instead of
> _require_scratch, as we test mkfs function and do wipefs $SCRATCH_DEV
> before every test now.
>
> Thanks,
> Eryu
>

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

* Re: [PATCH v3] xfs/191: update mkfs.xfs input results
  2019-06-19  7:39   ` [PATCH v3] " Yang Xu
@ 2020-03-25 12:37     ` Christoph Hellwig
  2020-03-26  5:39     ` Zorro Lang
  1 sibling, 0 replies; 9+ messages in thread
From: Christoph Hellwig @ 2020-03-25 12:37 UTC (permalink / raw)
  To: Yang Xu; +Cc: guaneryu, darrick.wong, fstests, linux-xfs

On Wed, Jun 19, 2019 at 03:39:23PM +0800, Yang Xu wrote:
> Currently, on 5.2.0-rc4+ kernel, when I run xfs/191 with upstream
> xfsprogs, I get the following errors because mkfs.xfs binary has
> changed a lot.

Looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>

although this will need a rebase on top of:

xfs/191-input-validation:Fix issue that the test takes too long

which includes a hunk that is also present in this patch.

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

* Re: [PATCH v3] xfs/191: update mkfs.xfs input results
  2019-06-19  7:39   ` [PATCH v3] " Yang Xu
  2020-03-25 12:37     ` Christoph Hellwig
@ 2020-03-26  5:39     ` Zorro Lang
  2020-03-26  9:11       ` Yang Xu
  1 sibling, 1 reply; 9+ messages in thread
From: Zorro Lang @ 2020-03-26  5:39 UTC (permalink / raw)
  To: Yang Xu; +Cc: fstests, linux-xfs

On Wed, Jun 19, 2019 at 03:39:23PM +0800, Yang Xu wrote:
> Currently, on 5.2.0-rc4+ kernel, when I run xfs/191 with upstream
> xfsprogs, I get the following errors because mkfs.xfs binary has
> changed a lot.
> 
> -------------------------
> pass -n size=2b /dev/sda11
> pass -d agsize=8192b /dev/sda11
> pass -d agsize=65536s /dev/sda11
> pass -d su=0,sw=64 /dev/sda11
> pass -d su=4096s,sw=64 /dev/sda11
> pass -d su=4096b,sw=64 /dev/sda11
> pass -l su=10b /dev/sda11
> fail -n log=15 /dev/sda11
> fail -r size=65536,rtdev=$fsimg /dev/sda11
> fail -r rtdev=$fsimg /dev/sda11
> fail -i log=10 /dev/sda11
> --------------------------
> 
> "pass -d su=0,sw=64 /dev/sda11", expect fail, this behavior has been
> fixed by commit 16adcb88(mkfs: more sunit/swidth sanity checking).
> 
> "fail -n log=15 /dev/sda11" "fail -i log=10 /dev/sda11", expect pass,
> this option has been removed since commit 2cf637c(mkfs: remove
> logarithm based CLI option).
> 
> "fail -r size=65536,rtdev=$fsimg /dev/sda11" "fail -r rtdev=$fsimg
> /dev/sda11" works well if we disable reflink, fail if we enable
> reflink. It fails because reflink was not supported in realtime
> devices since commit bfa66ec.
> 
> "b" or "s" suffix without specifying their size has been supported 
> since xfsprogs v4.15.0-rc1.
> 
> I change the expected result for compatibility with current xfsprogs
> and add rtdev test with reflink.
> 
> Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
> ---

I'd suggest to use a loop device to replace SCRATCH_DEV, to avoid some failures
caused by different stripe alignment of SCRATCH_DEV (refer to xfs/513).  Or we
need to think about the stripe alignment in this case.

Thanks,
Zorro

>  tests/xfs/191-input-validation | 39 ++++++++++++++++++++++------------
>  1 file changed, 25 insertions(+), 14 deletions(-)
> 
> diff --git a/tests/xfs/191-input-validation b/tests/xfs/191-input-validation
> index b6658015..9f8de500 100755
> --- a/tests/xfs/191-input-validation
> +++ b/tests/xfs/191-input-validation
> @@ -31,11 +31,10 @@ _cleanup()
>  # Modify as appropriate.
>  _supported_fs xfs
>  _supported_os Linux
> -_require_scratch
> +_require_scratch_nocheck
>  _require_xfs_mkfs_validation
>  
>  
> -
>  rm -f $seqres.full
>  echo silence is golden
>  
> @@ -112,10 +111,11 @@ do_mkfs_fail -b size=2b $SCRATCH_DEV
>  do_mkfs_fail -b size=nfi $SCRATCH_DEV
>  do_mkfs_fail -b size=4096nfi $SCRATCH_DEV
>  do_mkfs_fail -n size=2s $SCRATCH_DEV
> -do_mkfs_fail -n size=2b $SCRATCH_DEV
>  do_mkfs_fail -n size=nfi $SCRATCH_DEV
>  do_mkfs_fail -n size=4096nfi $SCRATCH_DEV
>  
> +do_mkfs_pass -n size=2b $SCRATCH_DEV
> +
>  # bad label length
>  do_mkfs_fail -L thisiswaytoolong $SCRATCH_DEV
>  
> @@ -129,6 +129,8 @@ do_mkfs_pass -d agsize=32M $SCRATCH_DEV
>  do_mkfs_pass -d agsize=1g $SCRATCH_DEV
>  do_mkfs_pass -d agsize=$((32 * 1024 * 1024)) $SCRATCH_DEV
>  do_mkfs_pass -b size=4096 -d agsize=8192b $SCRATCH_DEV
> +do_mkfs_pass -d agsize=8192b $SCRATCH_DEV
> +do_mkfs_pass -d agsize=65536s $SCRATCH_DEV
>  do_mkfs_pass -d sectsize=512,agsize=65536s $SCRATCH_DEV
>  do_mkfs_pass -s size=512 -d agsize=65536s $SCRATCH_DEV
>  do_mkfs_pass -d noalign $SCRATCH_DEV
> @@ -136,7 +138,10 @@ do_mkfs_pass -d sunit=0,swidth=0 $SCRATCH_DEV
>  do_mkfs_pass -d sunit=8,swidth=8 $SCRATCH_DEV
>  do_mkfs_pass -d sunit=8,swidth=64 $SCRATCH_DEV
>  do_mkfs_pass -d su=0,sw=0 $SCRATCH_DEV
> +do_mkfs_pass -d su=0,sw=64 $SCRATCH_DEV
>  do_mkfs_pass -d su=4096,sw=1 $SCRATCH_DEV
> +do_mkfs_pass -d su=4096s,sw=64 $SCRATCH_DEV
> +do_mkfs_pass -d su=4096b,sw=64 $SCRATCH_DEV
>  do_mkfs_pass -d su=4k,sw=1 $SCRATCH_DEV
>  do_mkfs_pass -d su=4K,sw=8 $SCRATCH_DEV
>  do_mkfs_pass -b size=4096 -d su=1b,sw=8 $SCRATCH_DEV
> @@ -147,8 +152,6 @@ do_mkfs_pass -s size=512 -d su=8s,sw=8 $SCRATCH_DEV
>  do_mkfs_fail -d size=${fssize}b $SCRATCH_DEV
>  do_mkfs_fail -d size=${fssize}s $SCRATCH_DEV
>  do_mkfs_fail -d size=${fssize}yerk $SCRATCH_DEV
> -do_mkfs_fail -d agsize=8192b $SCRATCH_DEV
> -do_mkfs_fail -d agsize=65536s $SCRATCH_DEV
>  do_mkfs_fail -d agsize=32Mbsdfsdo $SCRATCH_DEV
>  do_mkfs_fail -d agsize=1GB $SCRATCH_DEV
>  do_mkfs_fail -d agcount=1k $SCRATCH_DEV
> @@ -159,13 +162,10 @@ do_mkfs_fail -d sunit=64,swidth=0 $SCRATCH_DEV
>  do_mkfs_fail -d sunit=64,swidth=64,noalign $SCRATCH_DEV
>  do_mkfs_fail -d sunit=64k,swidth=64 $SCRATCH_DEV
>  do_mkfs_fail -d sunit=64,swidth=64m $SCRATCH_DEV
> -do_mkfs_fail -d su=0,sw=64 $SCRATCH_DEV
>  do_mkfs_fail -d su=4096,sw=0 $SCRATCH_DEV
>  do_mkfs_fail -d su=4097,sw=1 $SCRATCH_DEV
>  do_mkfs_fail -d su=4096,sw=64,noalign $SCRATCH_DEV
>  do_mkfs_fail -d su=4096,sw=64s $SCRATCH_DEV
> -do_mkfs_fail -d su=4096s,sw=64 $SCRATCH_DEV
> -do_mkfs_fail -d su=4096b,sw=64 $SCRATCH_DEV
>  do_mkfs_fail -d su=4096garabge,sw=64 $SCRATCH_DEV
>  do_mkfs_fail -d su=4096,sw=64,sunit=64,swidth=64 $SCRATCH_DEV
>  do_mkfs_fail -d sectsize=10,agsize=65536s $SCRATCH_DEV
> @@ -206,6 +206,7 @@ do_mkfs_pass -l sunit=64 $SCRATCH_DEV
>  do_mkfs_pass -l sunit=64 -d sunit=8,swidth=8 $SCRATCH_DEV
>  do_mkfs_pass -l sunit=8 $SCRATCH_DEV
>  do_mkfs_pass -l su=$((4096*10)) $SCRATCH_DEV
> +do_mkfs_pass -l su=10b $SCRATCH_DEV
>  do_mkfs_pass -b size=4096 -l su=10b $SCRATCH_DEV
>  do_mkfs_pass -l sectsize=512,su=$((4096*10)) $SCRATCH_DEV
>  do_mkfs_pass -l internal $SCRATCH_DEV
> @@ -228,7 +229,6 @@ do_mkfs_fail -l agnum=32 $SCRATCH_DEV
>  do_mkfs_fail -l sunit=0  $SCRATCH_DEV
>  do_mkfs_fail -l sunit=63 $SCRATCH_DEV
>  do_mkfs_fail -l su=1 $SCRATCH_DEV
> -do_mkfs_fail -l su=10b $SCRATCH_DEV
>  do_mkfs_fail -l su=10s $SCRATCH_DEV
>  do_mkfs_fail -l su=$((4096*10+1)) $SCRATCH_DEV
>  do_mkfs_fail -l sectsize=10,agsize=65536s $SCRATCH_DEV
> @@ -246,7 +246,6 @@ do_mkfs_fail -l version=0  $SCRATCH_DEV
>  
>  # naming section, should pass
>  do_mkfs_pass -n size=65536 $SCRATCH_DEV
> -do_mkfs_pass -n log=15 $SCRATCH_DEV
>  do_mkfs_pass -n version=2 $SCRATCH_DEV
>  do_mkfs_pass -n version=ci $SCRATCH_DEV
>  do_mkfs_pass -n ftype=0 -m crc=0 $SCRATCH_DEV
> @@ -257,6 +256,7 @@ do_mkfs_fail -n version=1 $SCRATCH_DEV
>  do_mkfs_fail -n version=cid $SCRATCH_DEV
>  do_mkfs_fail -n ftype=4 $SCRATCH_DEV
>  do_mkfs_fail -n ftype=0 $SCRATCH_DEV
> +do_mkfs_fail -n log=15 $SCRATCH_DEV
>  
>  reset_fsimg
>  
> @@ -273,14 +273,24 @@ do_mkfs_fail -m crc=0,finobt=1 $SCRATCH_DEV
>  do_mkfs_fail -m crc=1 -n ftype=0 $SCRATCH_DEV
>  
>  
> +# realtime section, results depend on reflink
> +_scratch_mkfs_xfs_supported -m reflink=0 >/dev/null 2>&1
> +if [ $? -eq 0 ]; then
> +	do_mkfs_pass -m reflink=0 -r rtdev=$fsimg $SCRATCH_DEV
> +	do_mkfs_pass -m reflink=0 -r size=65536,rtdev=$fsimg $SCRATCH_DEV
> +	do_mkfs_fail -m reflink=1 -r rtdev=$fsimg $SCRATCH_DEV
> +	do_mkfs_fail -m reflink=1 -r size=65536,rtdev=$fsimg $SCRATCH_DEV
> +else
> +	do_mkfs_pass -r rtdev=$fsimg $SCRATCH_DEV
> +	do_mkfs_pass -r size=65536,rtdev=$fsimg $SCRATCH_DEV
> +fi
> +
> +
>  # realtime section, should pass
> -do_mkfs_pass -r rtdev=$fsimg $SCRATCH_DEV
>  do_mkfs_pass -r extsize=4k $SCRATCH_DEV
>  do_mkfs_pass -r extsize=1G $SCRATCH_DEV
> -do_mkfs_pass -r size=65536,rtdev=$fsimg $SCRATCH_DEV
>  do_mkfs_pass -r noalign $SCRATCH_DEV
>  
> -
>  # realtime section, should fail
>  do_mkfs_fail -r rtdev=$SCRATCH_DEV
>  do_mkfs_fail -r extsize=256 $SCRATCH_DEV
> @@ -293,7 +303,6 @@ do_mkfs_fail -r size=65536 $SCRATCH_DEV
>  do_mkfs_pass -i size=256 -m crc=0 $SCRATCH_DEV
>  do_mkfs_pass -i size=512 $SCRATCH_DEV
>  do_mkfs_pass -i size=2048 $SCRATCH_DEV
> -do_mkfs_pass -i log=10 $SCRATCH_DEV
>  do_mkfs_pass -i perblock=2 $SCRATCH_DEV
>  do_mkfs_pass -i maxpct=10 $SCRATCH_DEV
>  do_mkfs_pass -i maxpct=100 $SCRATCH_DEV
> @@ -317,6 +326,8 @@ do_mkfs_fail -i align=2 $SCRATCH_DEV
>  do_mkfs_fail -i sparse -m crc=0 $SCRATCH_DEV
>  do_mkfs_fail -i align=0 -m crc=1 $SCRATCH_DEV
>  do_mkfs_fail -i attr=1 -m crc=1 $SCRATCH_DEV
> +do_mkfs_fail -i log=10 $SCRATCH_DEV
> +
>  
>  status=0
>  exit
> -- 
> 2.18.1
> 
> 
> 


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

* Re: [PATCH v3] xfs/191: update mkfs.xfs input results
  2020-03-26  5:39     ` Zorro Lang
@ 2020-03-26  9:11       ` Yang Xu
  2020-03-26 13:21         ` Zorro Lang
  0 siblings, 1 reply; 9+ messages in thread
From: Yang Xu @ 2020-03-26  9:11 UTC (permalink / raw)
  To: Zorro Lang; +Cc: fstests, linux-xfs


on 2020/03/26 13:39, Zorro Lang wrote:
> On Wed, Jun 19, 2019 at 03:39:23PM +0800, Yang Xu wrote:
>> Currently, on 5.2.0-rc4+ kernel, when I run xfs/191 with upstream
>> xfsprogs, I get the following errors because mkfs.xfs binary has
>> changed a lot.
>>
>> -------------------------
>> pass -n size=2b /dev/sda11
>> pass -d agsize=8192b /dev/sda11
>> pass -d agsize=65536s /dev/sda11
>> pass -d su=0,sw=64 /dev/sda11
>> pass -d su=4096s,sw=64 /dev/sda11
>> pass -d su=4096b,sw=64 /dev/sda11
>> pass -l su=10b /dev/sda11
>> fail -n log=15 /dev/sda11
>> fail -r size=65536,rtdev=$fsimg /dev/sda11
>> fail -r rtdev=$fsimg /dev/sda11
>> fail -i log=10 /dev/sda11
>> --------------------------
>>
>> "pass -d su=0,sw=64 /dev/sda11", expect fail, this behavior has been
>> fixed by commit 16adcb88(mkfs: more sunit/swidth sanity checking).
>>
>> "fail -n log=15 /dev/sda11" "fail -i log=10 /dev/sda11", expect pass,
>> this option has been removed since commit 2cf637c(mkfs: remove
>> logarithm based CLI option).
>>
>> "fail -r size=65536,rtdev=$fsimg /dev/sda11" "fail -r rtdev=$fsimg
>> /dev/sda11" works well if we disable reflink, fail if we enable
>> reflink. It fails because reflink was not supported in realtime
>> devices since commit bfa66ec.
>>
>> "b" or "s" suffix without specifying their size has been supported
>> since xfsprogs v4.15.0-rc1.
>>
>> I change the expected result for compatibility with current xfsprogs
>> and add rtdev test with reflink.
>>
>> Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
>> ---
> 
> I'd suggest to use a loop device to replace SCRATCH_DEV, to avoid some failures
> caused by different stripe alignment of SCRATCH_DEV (refer to xfs/513).  Or we
> need to think about the stripe alignment in this case.
I also met stripe size problem with log section in[1], but it failed on 
mount step.  Can you give me a mkfs example and let me understand?

[1]https://patchwork.kernel.org/patch/11393385/

Best Regards
Yang Xu
> 
> Thanks,
> Zorro
> 
>>   tests/xfs/191-input-validation | 39 ++++++++++++++++++++++------------
>>   1 file changed, 25 insertions(+), 14 deletions(-)
>>
>> diff --git a/tests/xfs/191-input-validation b/tests/xfs/191-input-validation
>> index b6658015..9f8de500 100755
>> --- a/tests/xfs/191-input-validation
>> +++ b/tests/xfs/191-input-validation
>> @@ -31,11 +31,10 @@ _cleanup()
>>   # Modify as appropriate.
>>   _supported_fs xfs
>>   _supported_os Linux
>> -_require_scratch
>> +_require_scratch_nocheck
>>   _require_xfs_mkfs_validation
>>   
>>   
>> -
>>   rm -f $seqres.full
>>   echo silence is golden
>>   
>> @@ -112,10 +111,11 @@ do_mkfs_fail -b size=2b $SCRATCH_DEV
>>   do_mkfs_fail -b size=nfi $SCRATCH_DEV
>>   do_mkfs_fail -b size=4096nfi $SCRATCH_DEV
>>   do_mkfs_fail -n size=2s $SCRATCH_DEV
>> -do_mkfs_fail -n size=2b $SCRATCH_DEV
>>   do_mkfs_fail -n size=nfi $SCRATCH_DEV
>>   do_mkfs_fail -n size=4096nfi $SCRATCH_DEV
>>   
>> +do_mkfs_pass -n size=2b $SCRATCH_DEV
>> +
>>   # bad label length
>>   do_mkfs_fail -L thisiswaytoolong $SCRATCH_DEV
>>   
>> @@ -129,6 +129,8 @@ do_mkfs_pass -d agsize=32M $SCRATCH_DEV
>>   do_mkfs_pass -d agsize=1g $SCRATCH_DEV
>>   do_mkfs_pass -d agsize=$((32 * 1024 * 1024)) $SCRATCH_DEV
>>   do_mkfs_pass -b size=4096 -d agsize=8192b $SCRATCH_DEV
>> +do_mkfs_pass -d agsize=8192b $SCRATCH_DEV
>> +do_mkfs_pass -d agsize=65536s $SCRATCH_DEV
>>   do_mkfs_pass -d sectsize=512,agsize=65536s $SCRATCH_DEV
>>   do_mkfs_pass -s size=512 -d agsize=65536s $SCRATCH_DEV
>>   do_mkfs_pass -d noalign $SCRATCH_DEV
>> @@ -136,7 +138,10 @@ do_mkfs_pass -d sunit=0,swidth=0 $SCRATCH_DEV
>>   do_mkfs_pass -d sunit=8,swidth=8 $SCRATCH_DEV
>>   do_mkfs_pass -d sunit=8,swidth=64 $SCRATCH_DEV
>>   do_mkfs_pass -d su=0,sw=0 $SCRATCH_DEV
>> +do_mkfs_pass -d su=0,sw=64 $SCRATCH_DEV
>>   do_mkfs_pass -d su=4096,sw=1 $SCRATCH_DEV
>> +do_mkfs_pass -d su=4096s,sw=64 $SCRATCH_DEV
>> +do_mkfs_pass -d su=4096b,sw=64 $SCRATCH_DEV
>>   do_mkfs_pass -d su=4k,sw=1 $SCRATCH_DEV
>>   do_mkfs_pass -d su=4K,sw=8 $SCRATCH_DEV
>>   do_mkfs_pass -b size=4096 -d su=1b,sw=8 $SCRATCH_DEV
>> @@ -147,8 +152,6 @@ do_mkfs_pass -s size=512 -d su=8s,sw=8 $SCRATCH_DEV
>>   do_mkfs_fail -d size=${fssize}b $SCRATCH_DEV
>>   do_mkfs_fail -d size=${fssize}s $SCRATCH_DEV
>>   do_mkfs_fail -d size=${fssize}yerk $SCRATCH_DEV
>> -do_mkfs_fail -d agsize=8192b $SCRATCH_DEV
>> -do_mkfs_fail -d agsize=65536s $SCRATCH_DEV
>>   do_mkfs_fail -d agsize=32Mbsdfsdo $SCRATCH_DEV
>>   do_mkfs_fail -d agsize=1GB $SCRATCH_DEV
>>   do_mkfs_fail -d agcount=1k $SCRATCH_DEV
>> @@ -159,13 +162,10 @@ do_mkfs_fail -d sunit=64,swidth=0 $SCRATCH_DEV
>>   do_mkfs_fail -d sunit=64,swidth=64,noalign $SCRATCH_DEV
>>   do_mkfs_fail -d sunit=64k,swidth=64 $SCRATCH_DEV
>>   do_mkfs_fail -d sunit=64,swidth=64m $SCRATCH_DEV
>> -do_mkfs_fail -d su=0,sw=64 $SCRATCH_DEV
>>   do_mkfs_fail -d su=4096,sw=0 $SCRATCH_DEV
>>   do_mkfs_fail -d su=4097,sw=1 $SCRATCH_DEV
>>   do_mkfs_fail -d su=4096,sw=64,noalign $SCRATCH_DEV
>>   do_mkfs_fail -d su=4096,sw=64s $SCRATCH_DEV
>> -do_mkfs_fail -d su=4096s,sw=64 $SCRATCH_DEV
>> -do_mkfs_fail -d su=4096b,sw=64 $SCRATCH_DEV
>>   do_mkfs_fail -d su=4096garabge,sw=64 $SCRATCH_DEV
>>   do_mkfs_fail -d su=4096,sw=64,sunit=64,swidth=64 $SCRATCH_DEV
>>   do_mkfs_fail -d sectsize=10,agsize=65536s $SCRATCH_DEV
>> @@ -206,6 +206,7 @@ do_mkfs_pass -l sunit=64 $SCRATCH_DEV
>>   do_mkfs_pass -l sunit=64 -d sunit=8,swidth=8 $SCRATCH_DEV
>>   do_mkfs_pass -l sunit=8 $SCRATCH_DEV
>>   do_mkfs_pass -l su=$((4096*10)) $SCRATCH_DEV
>> +do_mkfs_pass -l su=10b $SCRATCH_DEV
>>   do_mkfs_pass -b size=4096 -l su=10b $SCRATCH_DEV
>>   do_mkfs_pass -l sectsize=512,su=$((4096*10)) $SCRATCH_DEV
>>   do_mkfs_pass -l internal $SCRATCH_DEV
>> @@ -228,7 +229,6 @@ do_mkfs_fail -l agnum=32 $SCRATCH_DEV
>>   do_mkfs_fail -l sunit=0  $SCRATCH_DEV
>>   do_mkfs_fail -l sunit=63 $SCRATCH_DEV
>>   do_mkfs_fail -l su=1 $SCRATCH_DEV
>> -do_mkfs_fail -l su=10b $SCRATCH_DEV
>>   do_mkfs_fail -l su=10s $SCRATCH_DEV
>>   do_mkfs_fail -l su=$((4096*10+1)) $SCRATCH_DEV
>>   do_mkfs_fail -l sectsize=10,agsize=65536s $SCRATCH_DEV
>> @@ -246,7 +246,6 @@ do_mkfs_fail -l version=0  $SCRATCH_DEV
>>   
>>   # naming section, should pass
>>   do_mkfs_pass -n size=65536 $SCRATCH_DEV
>> -do_mkfs_pass -n log=15 $SCRATCH_DEV
>>   do_mkfs_pass -n version=2 $SCRATCH_DEV
>>   do_mkfs_pass -n version=ci $SCRATCH_DEV
>>   do_mkfs_pass -n ftype=0 -m crc=0 $SCRATCH_DEV
>> @@ -257,6 +256,7 @@ do_mkfs_fail -n version=1 $SCRATCH_DEV
>>   do_mkfs_fail -n version=cid $SCRATCH_DEV
>>   do_mkfs_fail -n ftype=4 $SCRATCH_DEV
>>   do_mkfs_fail -n ftype=0 $SCRATCH_DEV
>> +do_mkfs_fail -n log=15 $SCRATCH_DEV
>>   
>>   reset_fsimg
>>   
>> @@ -273,14 +273,24 @@ do_mkfs_fail -m crc=0,finobt=1 $SCRATCH_DEV
>>   do_mkfs_fail -m crc=1 -n ftype=0 $SCRATCH_DEV
>>   
>>   
>> +# realtime section, results depend on reflink
>> +_scratch_mkfs_xfs_supported -m reflink=0 >/dev/null 2>&1
>> +if [ $? -eq 0 ]; then
>> +	do_mkfs_pass -m reflink=0 -r rtdev=$fsimg $SCRATCH_DEV
>> +	do_mkfs_pass -m reflink=0 -r size=65536,rtdev=$fsimg $SCRATCH_DEV
>> +	do_mkfs_fail -m reflink=1 -r rtdev=$fsimg $SCRATCH_DEV
>> +	do_mkfs_fail -m reflink=1 -r size=65536,rtdev=$fsimg $SCRATCH_DEV
>> +else
>> +	do_mkfs_pass -r rtdev=$fsimg $SCRATCH_DEV
>> +	do_mkfs_pass -r size=65536,rtdev=$fsimg $SCRATCH_DEV
>> +fi
>> +
>> +
>>   # realtime section, should pass
>> -do_mkfs_pass -r rtdev=$fsimg $SCRATCH_DEV
>>   do_mkfs_pass -r extsize=4k $SCRATCH_DEV
>>   do_mkfs_pass -r extsize=1G $SCRATCH_DEV
>> -do_mkfs_pass -r size=65536,rtdev=$fsimg $SCRATCH_DEV
>>   do_mkfs_pass -r noalign $SCRATCH_DEV
>>   
>> -
>>   # realtime section, should fail
>>   do_mkfs_fail -r rtdev=$SCRATCH_DEV
>>   do_mkfs_fail -r extsize=256 $SCRATCH_DEV
>> @@ -293,7 +303,6 @@ do_mkfs_fail -r size=65536 $SCRATCH_DEV
>>   do_mkfs_pass -i size=256 -m crc=0 $SCRATCH_DEV
>>   do_mkfs_pass -i size=512 $SCRATCH_DEV
>>   do_mkfs_pass -i size=2048 $SCRATCH_DEV
>> -do_mkfs_pass -i log=10 $SCRATCH_DEV
>>   do_mkfs_pass -i perblock=2 $SCRATCH_DEV
>>   do_mkfs_pass -i maxpct=10 $SCRATCH_DEV
>>   do_mkfs_pass -i maxpct=100 $SCRATCH_DEV
>> @@ -317,6 +326,8 @@ do_mkfs_fail -i align=2 $SCRATCH_DEV
>>   do_mkfs_fail -i sparse -m crc=0 $SCRATCH_DEV
>>   do_mkfs_fail -i align=0 -m crc=1 $SCRATCH_DEV
>>   do_mkfs_fail -i attr=1 -m crc=1 $SCRATCH_DEV
>> +do_mkfs_fail -i log=10 $SCRATCH_DEV
>> +
>>   
>>   status=0
>>   exit
>> -- 
>> 2.18.1
>>
>>
>>
> 
> 
> 



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

* Re: [PATCH v3] xfs/191: update mkfs.xfs input results
  2020-03-26  9:11       ` Yang Xu
@ 2020-03-26 13:21         ` Zorro Lang
  2020-03-27  1:22           ` Yang Xu
  0 siblings, 1 reply; 9+ messages in thread
From: Zorro Lang @ 2020-03-26 13:21 UTC (permalink / raw)
  To: Yang Xu; +Cc: fstests, linux-xfs

On Thu, Mar 26, 2020 at 05:11:37PM +0800, Yang Xu wrote:
> 
> on 2020/03/26 13:39, Zorro Lang wrote:
> > On Wed, Jun 19, 2019 at 03:39:23PM +0800, Yang Xu wrote:
> > > Currently, on 5.2.0-rc4+ kernel, when I run xfs/191 with upstream
> > > xfsprogs, I get the following errors because mkfs.xfs binary has
> > > changed a lot.
> > > 
> > > -------------------------
> > > pass -n size=2b /dev/sda11
> > > pass -d agsize=8192b /dev/sda11
> > > pass -d agsize=65536s /dev/sda11
> > > pass -d su=0,sw=64 /dev/sda11
> > > pass -d su=4096s,sw=64 /dev/sda11
> > > pass -d su=4096b,sw=64 /dev/sda11
> > > pass -l su=10b /dev/sda11
> > > fail -n log=15 /dev/sda11
> > > fail -r size=65536,rtdev=$fsimg /dev/sda11
> > > fail -r rtdev=$fsimg /dev/sda11
> > > fail -i log=10 /dev/sda11
> > > --------------------------
> > > 
> > > "pass -d su=0,sw=64 /dev/sda11", expect fail, this behavior has been
> > > fixed by commit 16adcb88(mkfs: more sunit/swidth sanity checking).
> > > 
> > > "fail -n log=15 /dev/sda11" "fail -i log=10 /dev/sda11", expect pass,
> > > this option has been removed since commit 2cf637c(mkfs: remove
> > > logarithm based CLI option).
> > > 
> > > "fail -r size=65536,rtdev=$fsimg /dev/sda11" "fail -r rtdev=$fsimg
> > > /dev/sda11" works well if we disable reflink, fail if we enable
> > > reflink. It fails because reflink was not supported in realtime
> > > devices since commit bfa66ec.
> > > 
> > > "b" or "s" suffix without specifying their size has been supported
> > > since xfsprogs v4.15.0-rc1.
> > > 
> > > I change the expected result for compatibility with current xfsprogs
> > > and add rtdev test with reflink.
> > > 
> > > Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
> > > ---
> > 
> > I'd suggest to use a loop device to replace SCRATCH_DEV, to avoid some failures
> > caused by different stripe alignment of SCRATCH_DEV (refer to xfs/513).  Or we
> > need to think about the stripe alignment in this case.
> I also met stripe size problem with log section in[1], but it failed on
> mount step.  Can you give me a mkfs example and let me understand?

Sure.

# mkfs.xfs -f /dev/mapper/xxx-xfstest
meta-data=/dev/mapper/xxx-xfstest isize=512    agcount=16, agsize=409600 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=6553600, imaxpct=25
         =                       sunit=64     swidth=64 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=5184, version=2
         =                       sectsz=512   sunit=64 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

# ./check xfs/191-input-validation
FSTYP         -- xfs (non-debug)
PLATFORM      -- Linux/x86_64
MKFS_OPTIONS  -- -f -bsize=4096 /dev/mapper/xxx-xfscratch
MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/mapper/xxx-xfscratch /mnt/scratch                                                                              

xfs/191-input-validation 11s ... - output mismatch (see /home/xfstests-zlang/results//xfs/191-input-validation.out.bad)                                                                       
    --- tests/xfs/191-input-validation.out      2018-10-24 02:06:10.616609603 -0400
    +++ /home/xfstests-zlang/results//xfs/191-input-validation.out.bad  2020-03-26 08:58:47.269671087 -0400                                                                                   
    @@ -1,2 +1,11 @@
     QA output created by 191-input-validation
     silence is golden
    +fail -d agsize=32m /dev/mapper/xxx-xfscratch
    +fail -d agsize=32M /dev/mapper/xxx-xfscratch
    +fail -d agsize=33554432 /dev/mapper/xxx-xfscratch
    +fail -b size=4096 -d agsize=8192b /dev/mapper/xxx-xfscratch
    +fail -d agsize=8192b /dev/mapper/xxx-xfscratch
    ...
    (Run 'diff -u /home/xfstests-zlang/tests/xfs/191-input-validation.out /home/xfstests-zlang/results//xfs/191-input-validation.out.bad'  to see the entire diff)                            
Ran: xfs/191-input-validation
Failures: xfs/191-input-validation
Failed 1 of 1 tests

# mkfs.xfs -f -d agsize=32m /dev/mapper/xxx-xfscratch
Due to stripe alignment, the internal log size (8192) is too large.
Must fit within an allocation group.
Usage: mkfs.xfs
...
...

All these failures gone after I turn to use /dev/loop0 to be SCRATCH_DEV.
# ./check xfs/191-input-validation
FSTYP         -- xfs (non-debug)
PLATFORM      -- Linux/x86_64
MKFS_OPTIONS  -- -f -bsize=4096 /dev/loop0
MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/loop0 /mnt/scratch

xfs/191-input-validation 11s ...  10s
Ran: xfs/191-input-validation
Passed all 1 tests

Thanks,
Zorro

> 
> [1]https://patchwork.kernel.org/patch/11393385/
> 
> Best Regards
> Yang Xu
> > 
> > Thanks,
> > Zorro
> > 
> > >   tests/xfs/191-input-validation | 39 ++++++++++++++++++++++------------
> > >   1 file changed, 25 insertions(+), 14 deletions(-)
> > > 
> > > diff --git a/tests/xfs/191-input-validation b/tests/xfs/191-input-validation
> > > index b6658015..9f8de500 100755
> > > --- a/tests/xfs/191-input-validation
> > > +++ b/tests/xfs/191-input-validation
> > > @@ -31,11 +31,10 @@ _cleanup()
> > >   # Modify as appropriate.
> > >   _supported_fs xfs
> > >   _supported_os Linux
> > > -_require_scratch
> > > +_require_scratch_nocheck
> > >   _require_xfs_mkfs_validation
> > > -
> > >   rm -f $seqres.full
> > >   echo silence is golden
> > > @@ -112,10 +111,11 @@ do_mkfs_fail -b size=2b $SCRATCH_DEV
> > >   do_mkfs_fail -b size=nfi $SCRATCH_DEV
> > >   do_mkfs_fail -b size=4096nfi $SCRATCH_DEV
> > >   do_mkfs_fail -n size=2s $SCRATCH_DEV
> > > -do_mkfs_fail -n size=2b $SCRATCH_DEV
> > >   do_mkfs_fail -n size=nfi $SCRATCH_DEV
> > >   do_mkfs_fail -n size=4096nfi $SCRATCH_DEV
> > > +do_mkfs_pass -n size=2b $SCRATCH_DEV
> > > +
> > >   # bad label length
> > >   do_mkfs_fail -L thisiswaytoolong $SCRATCH_DEV
> > > @@ -129,6 +129,8 @@ do_mkfs_pass -d agsize=32M $SCRATCH_DEV
> > >   do_mkfs_pass -d agsize=1g $SCRATCH_DEV
> > >   do_mkfs_pass -d agsize=$((32 * 1024 * 1024)) $SCRATCH_DEV
> > >   do_mkfs_pass -b size=4096 -d agsize=8192b $SCRATCH_DEV
> > > +do_mkfs_pass -d agsize=8192b $SCRATCH_DEV
> > > +do_mkfs_pass -d agsize=65536s $SCRATCH_DEV
> > >   do_mkfs_pass -d sectsize=512,agsize=65536s $SCRATCH_DEV
> > >   do_mkfs_pass -s size=512 -d agsize=65536s $SCRATCH_DEV
> > >   do_mkfs_pass -d noalign $SCRATCH_DEV
> > > @@ -136,7 +138,10 @@ do_mkfs_pass -d sunit=0,swidth=0 $SCRATCH_DEV
> > >   do_mkfs_pass -d sunit=8,swidth=8 $SCRATCH_DEV
> > >   do_mkfs_pass -d sunit=8,swidth=64 $SCRATCH_DEV
> > >   do_mkfs_pass -d su=0,sw=0 $SCRATCH_DEV
> > > +do_mkfs_pass -d su=0,sw=64 $SCRATCH_DEV
> > >   do_mkfs_pass -d su=4096,sw=1 $SCRATCH_DEV
> > > +do_mkfs_pass -d su=4096s,sw=64 $SCRATCH_DEV
> > > +do_mkfs_pass -d su=4096b,sw=64 $SCRATCH_DEV
> > >   do_mkfs_pass -d su=4k,sw=1 $SCRATCH_DEV
> > >   do_mkfs_pass -d su=4K,sw=8 $SCRATCH_DEV
> > >   do_mkfs_pass -b size=4096 -d su=1b,sw=8 $SCRATCH_DEV
> > > @@ -147,8 +152,6 @@ do_mkfs_pass -s size=512 -d su=8s,sw=8 $SCRATCH_DEV
> > >   do_mkfs_fail -d size=${fssize}b $SCRATCH_DEV
> > >   do_mkfs_fail -d size=${fssize}s $SCRATCH_DEV
> > >   do_mkfs_fail -d size=${fssize}yerk $SCRATCH_DEV
> > > -do_mkfs_fail -d agsize=8192b $SCRATCH_DEV
> > > -do_mkfs_fail -d agsize=65536s $SCRATCH_DEV
> > >   do_mkfs_fail -d agsize=32Mbsdfsdo $SCRATCH_DEV
> > >   do_mkfs_fail -d agsize=1GB $SCRATCH_DEV
> > >   do_mkfs_fail -d agcount=1k $SCRATCH_DEV
> > > @@ -159,13 +162,10 @@ do_mkfs_fail -d sunit=64,swidth=0 $SCRATCH_DEV
> > >   do_mkfs_fail -d sunit=64,swidth=64,noalign $SCRATCH_DEV
> > >   do_mkfs_fail -d sunit=64k,swidth=64 $SCRATCH_DEV
> > >   do_mkfs_fail -d sunit=64,swidth=64m $SCRATCH_DEV
> > > -do_mkfs_fail -d su=0,sw=64 $SCRATCH_DEV
> > >   do_mkfs_fail -d su=4096,sw=0 $SCRATCH_DEV
> > >   do_mkfs_fail -d su=4097,sw=1 $SCRATCH_DEV
> > >   do_mkfs_fail -d su=4096,sw=64,noalign $SCRATCH_DEV
> > >   do_mkfs_fail -d su=4096,sw=64s $SCRATCH_DEV
> > > -do_mkfs_fail -d su=4096s,sw=64 $SCRATCH_DEV
> > > -do_mkfs_fail -d su=4096b,sw=64 $SCRATCH_DEV
> > >   do_mkfs_fail -d su=4096garabge,sw=64 $SCRATCH_DEV
> > >   do_mkfs_fail -d su=4096,sw=64,sunit=64,swidth=64 $SCRATCH_DEV
> > >   do_mkfs_fail -d sectsize=10,agsize=65536s $SCRATCH_DEV
> > > @@ -206,6 +206,7 @@ do_mkfs_pass -l sunit=64 $SCRATCH_DEV
> > >   do_mkfs_pass -l sunit=64 -d sunit=8,swidth=8 $SCRATCH_DEV
> > >   do_mkfs_pass -l sunit=8 $SCRATCH_DEV
> > >   do_mkfs_pass -l su=$((4096*10)) $SCRATCH_DEV
> > > +do_mkfs_pass -l su=10b $SCRATCH_DEV
> > >   do_mkfs_pass -b size=4096 -l su=10b $SCRATCH_DEV
> > >   do_mkfs_pass -l sectsize=512,su=$((4096*10)) $SCRATCH_DEV
> > >   do_mkfs_pass -l internal $SCRATCH_DEV
> > > @@ -228,7 +229,6 @@ do_mkfs_fail -l agnum=32 $SCRATCH_DEV
> > >   do_mkfs_fail -l sunit=0  $SCRATCH_DEV
> > >   do_mkfs_fail -l sunit=63 $SCRATCH_DEV
> > >   do_mkfs_fail -l su=1 $SCRATCH_DEV
> > > -do_mkfs_fail -l su=10b $SCRATCH_DEV
> > >   do_mkfs_fail -l su=10s $SCRATCH_DEV
> > >   do_mkfs_fail -l su=$((4096*10+1)) $SCRATCH_DEV
> > >   do_mkfs_fail -l sectsize=10,agsize=65536s $SCRATCH_DEV
> > > @@ -246,7 +246,6 @@ do_mkfs_fail -l version=0  $SCRATCH_DEV
> > >   # naming section, should pass
> > >   do_mkfs_pass -n size=65536 $SCRATCH_DEV
> > > -do_mkfs_pass -n log=15 $SCRATCH_DEV
> > >   do_mkfs_pass -n version=2 $SCRATCH_DEV
> > >   do_mkfs_pass -n version=ci $SCRATCH_DEV
> > >   do_mkfs_pass -n ftype=0 -m crc=0 $SCRATCH_DEV
> > > @@ -257,6 +256,7 @@ do_mkfs_fail -n version=1 $SCRATCH_DEV
> > >   do_mkfs_fail -n version=cid $SCRATCH_DEV
> > >   do_mkfs_fail -n ftype=4 $SCRATCH_DEV
> > >   do_mkfs_fail -n ftype=0 $SCRATCH_DEV
> > > +do_mkfs_fail -n log=15 $SCRATCH_DEV
> > >   reset_fsimg
> > > @@ -273,14 +273,24 @@ do_mkfs_fail -m crc=0,finobt=1 $SCRATCH_DEV
> > >   do_mkfs_fail -m crc=1 -n ftype=0 $SCRATCH_DEV
> > > +# realtime section, results depend on reflink
> > > +_scratch_mkfs_xfs_supported -m reflink=0 >/dev/null 2>&1
> > > +if [ $? -eq 0 ]; then
> > > +	do_mkfs_pass -m reflink=0 -r rtdev=$fsimg $SCRATCH_DEV
> > > +	do_mkfs_pass -m reflink=0 -r size=65536,rtdev=$fsimg $SCRATCH_DEV
> > > +	do_mkfs_fail -m reflink=1 -r rtdev=$fsimg $SCRATCH_DEV
> > > +	do_mkfs_fail -m reflink=1 -r size=65536,rtdev=$fsimg $SCRATCH_DEV
> > > +else
> > > +	do_mkfs_pass -r rtdev=$fsimg $SCRATCH_DEV
> > > +	do_mkfs_pass -r size=65536,rtdev=$fsimg $SCRATCH_DEV
> > > +fi
> > > +
> > > +
> > >   # realtime section, should pass
> > > -do_mkfs_pass -r rtdev=$fsimg $SCRATCH_DEV
> > >   do_mkfs_pass -r extsize=4k $SCRATCH_DEV
> > >   do_mkfs_pass -r extsize=1G $SCRATCH_DEV
> > > -do_mkfs_pass -r size=65536,rtdev=$fsimg $SCRATCH_DEV
> > >   do_mkfs_pass -r noalign $SCRATCH_DEV
> > > -
> > >   # realtime section, should fail
> > >   do_mkfs_fail -r rtdev=$SCRATCH_DEV
> > >   do_mkfs_fail -r extsize=256 $SCRATCH_DEV
> > > @@ -293,7 +303,6 @@ do_mkfs_fail -r size=65536 $SCRATCH_DEV
> > >   do_mkfs_pass -i size=256 -m crc=0 $SCRATCH_DEV
> > >   do_mkfs_pass -i size=512 $SCRATCH_DEV
> > >   do_mkfs_pass -i size=2048 $SCRATCH_DEV
> > > -do_mkfs_pass -i log=10 $SCRATCH_DEV
> > >   do_mkfs_pass -i perblock=2 $SCRATCH_DEV
> > >   do_mkfs_pass -i maxpct=10 $SCRATCH_DEV
> > >   do_mkfs_pass -i maxpct=100 $SCRATCH_DEV
> > > @@ -317,6 +326,8 @@ do_mkfs_fail -i align=2 $SCRATCH_DEV
> > >   do_mkfs_fail -i sparse -m crc=0 $SCRATCH_DEV
> > >   do_mkfs_fail -i align=0 -m crc=1 $SCRATCH_DEV
> > >   do_mkfs_fail -i attr=1 -m crc=1 $SCRATCH_DEV
> > > +do_mkfs_fail -i log=10 $SCRATCH_DEV
> > > +
> > >   status=0
> > >   exit
> > > -- 
> > > 2.18.1
> > > 
> > > 
> > > 
> > 
> > 
> > 
> 
> 


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

* Re: [PATCH v3] xfs/191: update mkfs.xfs input results
  2020-03-26 13:21         ` Zorro Lang
@ 2020-03-27  1:22           ` Yang Xu
  0 siblings, 0 replies; 9+ messages in thread
From: Yang Xu @ 2020-03-27  1:22 UTC (permalink / raw)
  To: Zorro Lang; +Cc: fstests, linux-xfs


on 2020/03/26 21:21, Zorro Lang wrote:
> On Thu, Mar 26, 2020 at 05:11:37PM +0800, Yang Xu wrote:
>>
>> on 2020/03/26 13:39, Zorro Lang wrote:
>>> On Wed, Jun 19, 2019 at 03:39:23PM +0800, Yang Xu wrote:
>>>> Currently, on 5.2.0-rc4+ kernel, when I run xfs/191 with upstream
>>>> xfsprogs, I get the following errors because mkfs.xfs binary has
>>>> changed a lot.
>>>>
>>>> -------------------------
>>>> pass -n size=2b /dev/sda11
>>>> pass -d agsize=8192b /dev/sda11
>>>> pass -d agsize=65536s /dev/sda11
>>>> pass -d su=0,sw=64 /dev/sda11
>>>> pass -d su=4096s,sw=64 /dev/sda11
>>>> pass -d su=4096b,sw=64 /dev/sda11
>>>> pass -l su=10b /dev/sda11
>>>> fail -n log=15 /dev/sda11
>>>> fail -r size=65536,rtdev=$fsimg /dev/sda11
>>>> fail -r rtdev=$fsimg /dev/sda11
>>>> fail -i log=10 /dev/sda11
>>>> --------------------------
>>>>
>>>> "pass -d su=0,sw=64 /dev/sda11", expect fail, this behavior has been
>>>> fixed by commit 16adcb88(mkfs: more sunit/swidth sanity checking).
>>>>
>>>> "fail -n log=15 /dev/sda11" "fail -i log=10 /dev/sda11", expect pass,
>>>> this option has been removed since commit 2cf637c(mkfs: remove
>>>> logarithm based CLI option).
>>>>
>>>> "fail -r size=65536,rtdev=$fsimg /dev/sda11" "fail -r rtdev=$fsimg
>>>> /dev/sda11" works well if we disable reflink, fail if we enable
>>>> reflink. It fails because reflink was not supported in realtime
>>>> devices since commit bfa66ec.
>>>>
>>>> "b" or "s" suffix without specifying their size has been supported
>>>> since xfsprogs v4.15.0-rc1.
>>>>
>>>> I change the expected result for compatibility with current xfsprogs
>>>> and add rtdev test with reflink.
>>>>
>>>> Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
>>>> ---
>>>
>>> I'd suggest to use a loop device to replace SCRATCH_DEV, to avoid some failures
>>> caused by different stripe alignment of SCRATCH_DEV (refer to xfs/513).  Or we
>>> need to think about the stripe alignment in this case.
>> I also met stripe size problem with log section in[1], but it failed on
>> mount step.  Can you give me a mkfs example and let me understand?
> 
> Sure.
> 
> # mkfs.xfs -f /dev/mapper/xxx-xfstest
> meta-data=/dev/mapper/xxx-xfstest isize=512    agcount=16, agsize=409600 blks
>           =                       sectsz=512   attr=2, projid32bit=1
>           =                       crc=1        finobt=1, sparse=1, rmapbt=0
>           =                       reflink=1
> data     =                       bsize=4096   blocks=6553600, imaxpct=25
>           =                       sunit=64     swidth=64 blks
> naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
> log      =internal log           bsize=4096   blocks=5184, version=2
>           =                       sectsz=512   sunit=64 blks, lazy-count=1
> realtime =none                   extsz=4096   blocks=0, rtextents=0
> 
> # ./check xfs/191-input-validation
> FSTYP         -- xfs (non-debug)
> PLATFORM      -- Linux/x86_64
> MKFS_OPTIONS  -- -f -bsize=4096 /dev/mapper/xxx-xfscratch
> MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/mapper/xxx-xfscratch /mnt/scratch
> 
> xfs/191-input-validation 11s ... - output mismatch (see /home/xfstests-zlang/results//xfs/191-input-validation.out.bad)
>      --- tests/xfs/191-input-validation.out      2018-10-24 02:06:10.616609603 -0400
>      +++ /home/xfstests-zlang/results//xfs/191-input-validation.out.bad  2020-03-26 08:58:47.269671087 -0400
>      @@ -1,2 +1,11 @@
>       QA output created by 191-input-validation
>       silence is golden
>      +fail -d agsize=32m /dev/mapper/xxx-xfscratch
>      +fail -d agsize=32M /dev/mapper/xxx-xfscratch
>      +fail -d agsize=33554432 /dev/mapper/xxx-xfscratch
>      +fail -b size=4096 -d agsize=8192b /dev/mapper/xxx-xfscratch
>      +fail -d agsize=8192b /dev/mapper/xxx-xfscratch
>      ...
>      (Run 'diff -u /home/xfstests-zlang/tests/xfs/191-input-validation.out /home/xfstests-zlang/results//xfs/191-input-validation.out.bad'  to see the entire diff)
> Ran: xfs/191-input-validation
> Failures: xfs/191-input-validation
> Failed 1 of 1 tests
> 
> # mkfs.xfs -f -d agsize=32m /dev/mapper/xxx-xfscratch
> Due to stripe alignment, the internal log size (8192) is too large.
> Must fit within an allocation group.
> Usage: mkfs.xfs
> ...
> ...
Thanks. I see. I will send a v4 patch to use loop dev. Thanks for your 
review.

Best Regards
Yang Xu
> 
> All these failures gone after I turn to use /dev/loop0 to be SCRATCH_DEV.
> # ./check xfs/191-input-validation
> FSTYP         -- xfs (non-debug)
> PLATFORM      -- Linux/x86_64
> MKFS_OPTIONS  -- -f -bsize=4096 /dev/loop0
> MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/loop0 /mnt/scratch
> 
> xfs/191-input-validation 11s ...  10s
> Ran: xfs/191-input-validation
> Passed all 1 tests
> 
> Thanks,
> Zorro
> 
>>
>> [1]https://patchwork.kernel.org/patch/11393385/
>>
>> Best Regards
>> Yang Xu
>>>
>>> Thanks,
>>> Zorro
>>>
>>>>    tests/xfs/191-input-validation | 39 ++++++++++++++++++++++------------
>>>>    1 file changed, 25 insertions(+), 14 deletions(-)
>>>>
>>>> diff --git a/tests/xfs/191-input-validation b/tests/xfs/191-input-validation
>>>> index b6658015..9f8de500 100755
>>>> --- a/tests/xfs/191-input-validation
>>>> +++ b/tests/xfs/191-input-validation
>>>> @@ -31,11 +31,10 @@ _cleanup()
>>>>    # Modify as appropriate.
>>>>    _supported_fs xfs
>>>>    _supported_os Linux
>>>> -_require_scratch
>>>> +_require_scratch_nocheck
>>>>    _require_xfs_mkfs_validation
>>>> -
>>>>    rm -f $seqres.full
>>>>    echo silence is golden
>>>> @@ -112,10 +111,11 @@ do_mkfs_fail -b size=2b $SCRATCH_DEV
>>>>    do_mkfs_fail -b size=nfi $SCRATCH_DEV
>>>>    do_mkfs_fail -b size=4096nfi $SCRATCH_DEV
>>>>    do_mkfs_fail -n size=2s $SCRATCH_DEV
>>>> -do_mkfs_fail -n size=2b $SCRATCH_DEV
>>>>    do_mkfs_fail -n size=nfi $SCRATCH_DEV
>>>>    do_mkfs_fail -n size=4096nfi $SCRATCH_DEV
>>>> +do_mkfs_pass -n size=2b $SCRATCH_DEV
>>>> +
>>>>    # bad label length
>>>>    do_mkfs_fail -L thisiswaytoolong $SCRATCH_DEV
>>>> @@ -129,6 +129,8 @@ do_mkfs_pass -d agsize=32M $SCRATCH_DEV
>>>>    do_mkfs_pass -d agsize=1g $SCRATCH_DEV
>>>>    do_mkfs_pass -d agsize=$((32 * 1024 * 1024)) $SCRATCH_DEV
>>>>    do_mkfs_pass -b size=4096 -d agsize=8192b $SCRATCH_DEV
>>>> +do_mkfs_pass -d agsize=8192b $SCRATCH_DEV
>>>> +do_mkfs_pass -d agsize=65536s $SCRATCH_DEV
>>>>    do_mkfs_pass -d sectsize=512,agsize=65536s $SCRATCH_DEV
>>>>    do_mkfs_pass -s size=512 -d agsize=65536s $SCRATCH_DEV
>>>>    do_mkfs_pass -d noalign $SCRATCH_DEV
>>>> @@ -136,7 +138,10 @@ do_mkfs_pass -d sunit=0,swidth=0 $SCRATCH_DEV
>>>>    do_mkfs_pass -d sunit=8,swidth=8 $SCRATCH_DEV
>>>>    do_mkfs_pass -d sunit=8,swidth=64 $SCRATCH_DEV
>>>>    do_mkfs_pass -d su=0,sw=0 $SCRATCH_DEV
>>>> +do_mkfs_pass -d su=0,sw=64 $SCRATCH_DEV
>>>>    do_mkfs_pass -d su=4096,sw=1 $SCRATCH_DEV
>>>> +do_mkfs_pass -d su=4096s,sw=64 $SCRATCH_DEV
>>>> +do_mkfs_pass -d su=4096b,sw=64 $SCRATCH_DEV
>>>>    do_mkfs_pass -d su=4k,sw=1 $SCRATCH_DEV
>>>>    do_mkfs_pass -d su=4K,sw=8 $SCRATCH_DEV
>>>>    do_mkfs_pass -b size=4096 -d su=1b,sw=8 $SCRATCH_DEV
>>>> @@ -147,8 +152,6 @@ do_mkfs_pass -s size=512 -d su=8s,sw=8 $SCRATCH_DEV
>>>>    do_mkfs_fail -d size=${fssize}b $SCRATCH_DEV
>>>>    do_mkfs_fail -d size=${fssize}s $SCRATCH_DEV
>>>>    do_mkfs_fail -d size=${fssize}yerk $SCRATCH_DEV
>>>> -do_mkfs_fail -d agsize=8192b $SCRATCH_DEV
>>>> -do_mkfs_fail -d agsize=65536s $SCRATCH_DEV
>>>>    do_mkfs_fail -d agsize=32Mbsdfsdo $SCRATCH_DEV
>>>>    do_mkfs_fail -d agsize=1GB $SCRATCH_DEV
>>>>    do_mkfs_fail -d agcount=1k $SCRATCH_DEV
>>>> @@ -159,13 +162,10 @@ do_mkfs_fail -d sunit=64,swidth=0 $SCRATCH_DEV
>>>>    do_mkfs_fail -d sunit=64,swidth=64,noalign $SCRATCH_DEV
>>>>    do_mkfs_fail -d sunit=64k,swidth=64 $SCRATCH_DEV
>>>>    do_mkfs_fail -d sunit=64,swidth=64m $SCRATCH_DEV
>>>> -do_mkfs_fail -d su=0,sw=64 $SCRATCH_DEV
>>>>    do_mkfs_fail -d su=4096,sw=0 $SCRATCH_DEV
>>>>    do_mkfs_fail -d su=4097,sw=1 $SCRATCH_DEV
>>>>    do_mkfs_fail -d su=4096,sw=64,noalign $SCRATCH_DEV
>>>>    do_mkfs_fail -d su=4096,sw=64s $SCRATCH_DEV
>>>> -do_mkfs_fail -d su=4096s,sw=64 $SCRATCH_DEV
>>>> -do_mkfs_fail -d su=4096b,sw=64 $SCRATCH_DEV
>>>>    do_mkfs_fail -d su=4096garabge,sw=64 $SCRATCH_DEV
>>>>    do_mkfs_fail -d su=4096,sw=64,sunit=64,swidth=64 $SCRATCH_DEV
>>>>    do_mkfs_fail -d sectsize=10,agsize=65536s $SCRATCH_DEV
>>>> @@ -206,6 +206,7 @@ do_mkfs_pass -l sunit=64 $SCRATCH_DEV
>>>>    do_mkfs_pass -l sunit=64 -d sunit=8,swidth=8 $SCRATCH_DEV
>>>>    do_mkfs_pass -l sunit=8 $SCRATCH_DEV
>>>>    do_mkfs_pass -l su=$((4096*10)) $SCRATCH_DEV
>>>> +do_mkfs_pass -l su=10b $SCRATCH_DEV
>>>>    do_mkfs_pass -b size=4096 -l su=10b $SCRATCH_DEV
>>>>    do_mkfs_pass -l sectsize=512,su=$((4096*10)) $SCRATCH_DEV
>>>>    do_mkfs_pass -l internal $SCRATCH_DEV
>>>> @@ -228,7 +229,6 @@ do_mkfs_fail -l agnum=32 $SCRATCH_DEV
>>>>    do_mkfs_fail -l sunit=0  $SCRATCH_DEV
>>>>    do_mkfs_fail -l sunit=63 $SCRATCH_DEV
>>>>    do_mkfs_fail -l su=1 $SCRATCH_DEV
>>>> -do_mkfs_fail -l su=10b $SCRATCH_DEV
>>>>    do_mkfs_fail -l su=10s $SCRATCH_DEV
>>>>    do_mkfs_fail -l su=$((4096*10+1)) $SCRATCH_DEV
>>>>    do_mkfs_fail -l sectsize=10,agsize=65536s $SCRATCH_DEV
>>>> @@ -246,7 +246,6 @@ do_mkfs_fail -l version=0  $SCRATCH_DEV
>>>>    # naming section, should pass
>>>>    do_mkfs_pass -n size=65536 $SCRATCH_DEV
>>>> -do_mkfs_pass -n log=15 $SCRATCH_DEV
>>>>    do_mkfs_pass -n version=2 $SCRATCH_DEV
>>>>    do_mkfs_pass -n version=ci $SCRATCH_DEV
>>>>    do_mkfs_pass -n ftype=0 -m crc=0 $SCRATCH_DEV
>>>> @@ -257,6 +256,7 @@ do_mkfs_fail -n version=1 $SCRATCH_DEV
>>>>    do_mkfs_fail -n version=cid $SCRATCH_DEV
>>>>    do_mkfs_fail -n ftype=4 $SCRATCH_DEV
>>>>    do_mkfs_fail -n ftype=0 $SCRATCH_DEV
>>>> +do_mkfs_fail -n log=15 $SCRATCH_DEV
>>>>    reset_fsimg
>>>> @@ -273,14 +273,24 @@ do_mkfs_fail -m crc=0,finobt=1 $SCRATCH_DEV
>>>>    do_mkfs_fail -m crc=1 -n ftype=0 $SCRATCH_DEV
>>>> +# realtime section, results depend on reflink
>>>> +_scratch_mkfs_xfs_supported -m reflink=0 >/dev/null 2>&1
>>>> +if [ $? -eq 0 ]; then
>>>> +	do_mkfs_pass -m reflink=0 -r rtdev=$fsimg $SCRATCH_DEV
>>>> +	do_mkfs_pass -m reflink=0 -r size=65536,rtdev=$fsimg $SCRATCH_DEV
>>>> +	do_mkfs_fail -m reflink=1 -r rtdev=$fsimg $SCRATCH_DEV
>>>> +	do_mkfs_fail -m reflink=1 -r size=65536,rtdev=$fsimg $SCRATCH_DEV
>>>> +else
>>>> +	do_mkfs_pass -r rtdev=$fsimg $SCRATCH_DEV
>>>> +	do_mkfs_pass -r size=65536,rtdev=$fsimg $SCRATCH_DEV
>>>> +fi
>>>> +
>>>> +
>>>>    # realtime section, should pass
>>>> -do_mkfs_pass -r rtdev=$fsimg $SCRATCH_DEV
>>>>    do_mkfs_pass -r extsize=4k $SCRATCH_DEV
>>>>    do_mkfs_pass -r extsize=1G $SCRATCH_DEV
>>>> -do_mkfs_pass -r size=65536,rtdev=$fsimg $SCRATCH_DEV
>>>>    do_mkfs_pass -r noalign $SCRATCH_DEV
>>>> -
>>>>    # realtime section, should fail
>>>>    do_mkfs_fail -r rtdev=$SCRATCH_DEV
>>>>    do_mkfs_fail -r extsize=256 $SCRATCH_DEV
>>>> @@ -293,7 +303,6 @@ do_mkfs_fail -r size=65536 $SCRATCH_DEV
>>>>    do_mkfs_pass -i size=256 -m crc=0 $SCRATCH_DEV
>>>>    do_mkfs_pass -i size=512 $SCRATCH_DEV
>>>>    do_mkfs_pass -i size=2048 $SCRATCH_DEV
>>>> -do_mkfs_pass -i log=10 $SCRATCH_DEV
>>>>    do_mkfs_pass -i perblock=2 $SCRATCH_DEV
>>>>    do_mkfs_pass -i maxpct=10 $SCRATCH_DEV
>>>>    do_mkfs_pass -i maxpct=100 $SCRATCH_DEV
>>>> @@ -317,6 +326,8 @@ do_mkfs_fail -i align=2 $SCRATCH_DEV
>>>>    do_mkfs_fail -i sparse -m crc=0 $SCRATCH_DEV
>>>>    do_mkfs_fail -i align=0 -m crc=1 $SCRATCH_DEV
>>>>    do_mkfs_fail -i attr=1 -m crc=1 $SCRATCH_DEV
>>>> +do_mkfs_fail -i log=10 $SCRATCH_DEV
>>>> +
>>>>    status=0
>>>>    exit
>>>> -- 
>>>> 2.18.1
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
> 
> 
> 



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

end of thread, other threads:[~2020-03-27  1:23 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-13  8:31 [PATCH v2] xfs/191: update mkfs.xfs input results Yang Xu
2019-06-16 14:39 ` Eryu Guan
2019-06-19  7:39   ` [PATCH v3] " Yang Xu
2020-03-25 12:37     ` Christoph Hellwig
2020-03-26  5:39     ` Zorro Lang
2020-03-26  9:11       ` Yang Xu
2020-03-26 13:21         ` Zorro Lang
2020-03-27  1:22           ` Yang Xu
2019-06-19  7:58   ` [PATCH v2] " Yang Xu

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.