diff mbox

[v2] xfs/106: rewrite this case for run it as auto test again

Message ID 20160523074654.GF5140@eguan.usersys.redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Eryu Guan May 23, 2016, 7:46 a.m. UTC
On Tue, May 17, 2016 at 12:41:50PM +0800, Zorro Lang wrote:
> xfs/106 try to do some basic xfs_quota functionality test. I think
> basic function test is important, especially there're only few
> cases about xfs_quota now. But due to it's too old, there're 3
> problems cause no one run it again:
>    1. Some quota commands can't be used, but this case try to use it.
>       e.g. "warn" command.
>    2. Some quota commands can be used now, but this case doesn't test
>       them, because they can't work previously. e.g. "disable, enable,
>       off and remove" comands
>    3. Some expected output in 106.out file become incorrect now.
> 
> I rewrite this case for above 3 reasons. This case nearly test all
> xfs_quota commands and options now, except:
>    1. some "-v" options
>    2. all "-a" options. I can't control the golden file if print all
>       filesystem's quota info in it.
>    3. default quota. I think it can be tested in another case.
>    4. project command options. I will write another case to test it.
>    5. report command -l option. It's a new option, will cause failure
>       if someone test on a release with xfsprogs-3.1.
>    6. quot command -c option. It maybe output different histogram in
>       different system or machine.
>    7. warn command. This feature is not currently implemented.
>    8. print, df, free, help, quit and path commands.
> 
> Signed-off-by: Zorro Lang <zlang@redhat.com>
> ---

I'm not so familiar with xfs quota, so I just ran the test and review it
from a more general perspective.

The test works well on v5 xfs, but it fails when test on v4 xfs, e.g.

[root@dhcp-66-86-11 xfstests]# diff -u tests/xfs/106.out /root/workspace/xfstests/results//xfs_512/xfs/106.out.bad

*** xfs_repair -n output ***
Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - zero log...
        - scan filesystem freespace and inode maps...
        - found root inode chunk
Phase 3 - for each AG...
        - scan (but don't clear) agi unlinked lists...
        - process known inodes and perform inode discovery...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - process newly discovered inodes...
Phase 4 - check for duplicate blocks...
        - setting up duplicate extent list...
        - check for inodes claiming duplicate blocks...
        - agno = 0
        - agno = 2
        - agno = 1
        - agno = 3
No modify flag set, skipping phase 5
Phase 6 - check inode connectivity...
        - traversing filesystem ...
        - traversal finished ...
        - moving disconnected inodes to lost+found ...
disconnected inode 36, would move to lost+found
Phase 7 - verify link counts...
No modify flag set, skipping filesystem flush and exiting.
*** end xfs_repair output


And some minor (coding style) comments inline.

> 
> Hi,
> 
> V2 changed below:
[snip]
> diff --git a/tests/xfs/106 b/tests/xfs/106
> index 74658a6..f8593d0 100755
> --- a/tests/xfs/106
> +++ b/tests/xfs/106
> @@ -31,208 +31,289 @@ echo "QA output created by $seq"
>  here=`pwd`
>  tmp=/tmp/$$
>  status=1	# failure is the default!
> -trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
> +trap "_cleanup; exit \$status" 0 1 2 3 15
> +
> +_cleanup()
> +{
> +    cd /
> +    rm -f $tmp.*

Seems you use 4 spaces for indention, please use tab instead (8 spaces
width). Some old tests are using 4 spaces for indention, but we're in
the progress to convert all these tests to use tab (very slowly), mainly
by the chance of updating old tests like this :)

> +}
>  
>  # get standard environment, filters and checks
>  . ./common/rc
>  . ./common/filter
>  . ./common/quota
>  
> +# remove previous $seqres.full before test
> +rm -f $seqres.full
> +
> +# real QA test starts here
>  _supported_fs xfs
> -_supported_os Linux #IRIX
> +_supported_os Linux
>  _require_scratch
>  _require_xfs_quota
> +_require_user
> +_require_group
>  
> -# real QA test starts here
> -_scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs
> -cat $tmp.mkfs >$seqres.full
> -. $tmp.mkfs
> +_scratch_mkfs_xfs >$seqres.full 2>&1
>  
> -# setup a default run
> -if [ -z "$MOUNT_OPTIONS" ]; then
> -	export MOUNT_OPTIONS="-o pquota,sync"
> -else
> -	export MOUNT_OPTIONS="$MOUNT_OPTIONS -o sync"
> -fi
> +uqid=`id -u fsgqa`
> +gqid=`id -g fsgqa`
> +pqid=10
> +cat >$tmp.projects <<EOF
> +$pqid:$SCRATCH_MNT
> +EOF
>  
> -_qmount
> -_require_prjquota $SCRATCH_DEV
> +cat >$tmp.projid <<EOF
> +root:0
> +fsgqa:$pqid
> +EOF
>  
> -# initial populate
> -target=$SCRATCH_MNT/target
> -$FSSTRESS_PROG -z -s 57069 -m 8 -n 1000 -p 4 \
> --f allocsp=1 \
> --f chown=3 \
> --f creat=4 \
> --f dwrite=4 \
> --f fallocate=1 \
> --f fdatasync=1 \
> --f fiemap=1 \
> --f freesp=1 \
> --f fsync=1 \
> --f link=1 \
> --f mkdir=2 \
> --f mknod=2 \
> --f punch=1 \
> --f rename=2 \
> --f resvsp=1 \
> --f rmdir=1 \
> --f setxattr=1 \
> --f symlink=2 \
> --f sync=1 \
> --f truncate=2 \
> --f unlink=1 \
> --f unresvsp=1 \
> --f write=4 \
> --d $target
> -
> -$FSSTRESS_PROG -z -s 57069 -m 8 -n 1000 -p 4 \
> --f chown=500 \
> --f setxattr=500 \
> --d $target
> -
> -# also use space, to be able to go over/under limits easily
> -uid=255
> -gid=254
> -prid=253
> -rm -f $SCRATCH_MNT/resv
> -$XFS_IO_PROG -fc "resvsp 0 200m" -c "chproj $prid" $SCRATCH_MNT/resv
> -chown $uid $SCRATCH_MNT/resv
> -chgrp $gid $SCRATCH_MNT/resv
> +create_files()
> +{
> +    local bs=$1
> +    local inum=$2
>  
> -_qmount
> +    echo "Using type=$type id=$id" >> $seqres.full
> +
> +    for ((i=0; i<$((inum-1)); i++))
> +    do
> +	_file_as_id $SCRATCH_MNT/inode$i $id $type 1024 0
> +    done

Please use this for format

	for ...; do
		...
	done

Thanks,
Eryu
--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Zorro Lang May 23, 2016, 9:10 a.m. UTC | #1
----- 原始邮件 -----
> 发件人: "Eryu Guan" <eguan@redhat.com>
> 收件人: "Zorro Lang" <zlang@redhat.com>
> 抄送: fstests@vger.kernel.org, sandeen@redhat.com
> 发送时间: 星期一, 2016年 5 月 23日 下午 3:46:54
> 主题: Re: [PATCH v2] xfs/106: rewrite this case for run it as auto test again
> 
> On Tue, May 17, 2016 at 12:41:50PM +0800, Zorro Lang wrote:
> > xfs/106 try to do some basic xfs_quota functionality test. I think
> > basic function test is important, especially there're only few
> > cases about xfs_quota now. But due to it's too old, there're 3
> > problems cause no one run it again:
> >    1. Some quota commands can't be used, but this case try to use it.
> >       e.g. "warn" command.
> >    2. Some quota commands can be used now, but this case doesn't test
> >       them, because they can't work previously. e.g. "disable, enable,
> >       off and remove" comands
> >    3. Some expected output in 106.out file become incorrect now.
> > 
> > I rewrite this case for above 3 reasons. This case nearly test all
> > xfs_quota commands and options now, except:
> >    1. some "-v" options
> >    2. all "-a" options. I can't control the golden file if print all
> >       filesystem's quota info in it.
> >    3. default quota. I think it can be tested in another case.
> >    4. project command options. I will write another case to test it.
> >    5. report command -l option. It's a new option, will cause failure
> >       if someone test on a release with xfsprogs-3.1.
> >    6. quot command -c option. It maybe output different histogram in
> >       different system or machine.
> >    7. warn command. This feature is not currently implemented.
> >    8. print, df, free, help, quit and path commands.
> > 
> > Signed-off-by: Zorro Lang <zlang@redhat.com>
> > ---
> 
> I'm not so familiar with xfs quota, so I just ran the test and review it
> from a more general perspective.
> 
> The test works well on v5 xfs, but it fails when test on v4 xfs, e.g.
> 
> [root@dhcp-66-86-11 xfstests]# diff -u tests/xfs/106.out
> /root/workspace/xfstests/results//xfs_512/xfs/106.out.bad
> --- tests/xfs/106.out   2016-05-23 15:07:41.439000000 +0800
> +++ /root/workspace/xfstests/results//xfs_512/xfs/106.out.bad   2016-05-23
> 15:15:16.558000000 +0800
> @@ -349,10 +349,12 @@
>  Project ID Used Soft Hard Warn/Grace Used Soft Hard Warn/ Grace
>  ---------- --------------------------------------------------
>  --------------------------------------------------
>  fsgqa 1024 512 2048 00 [3 days] 15 10 20 00 [3 days]
> +#ID 0 512 2048 00 [--------] 0 10 20 00 [--------]
> ...
> 
> Maybe the test needs more filters?
> 
> Also, it fails fsck on v4 xfs, but this is not xfs/106 specific, I saw
> many other quota related tests failed the same way with v4 xfs. (I
> reported this issue to xfs list along other issues back in Mar., see
> http://oss.sgi.com/archives/xfs/2016-03/msg00063.html).
> 
> *** xfs_repair -n output ***
> Phase 1 - find and verify superblock...
> Phase 2 - using internal log
>         - zero log...
>         - scan filesystem freespace and inode maps...
>         - found root inode chunk
> Phase 3 - for each AG...
>         - scan (but don't clear) agi unlinked lists...
>         - process known inodes and perform inode discovery...
>         - agno = 0
>         - agno = 1
>         - agno = 2
>         - agno = 3
>         - process newly discovered inodes...
> Phase 4 - check for duplicate blocks...
>         - setting up duplicate extent list...
>         - check for inodes claiming duplicate blocks...
>         - agno = 0
>         - agno = 2
>         - agno = 1
>         - agno = 3
> No modify flag set, skipping phase 5
> Phase 6 - check inode connectivity...
>         - traversing filesystem ...
>         - traversal finished ...
>         - moving disconnected inodes to lost+found ...
> disconnected inode 36, would move to lost+found
> Phase 7 - verify link counts...
> No modify flag set, skipping filesystem flush and exiting.
> *** end xfs_repair output
> 
> 
> And some minor (coding style) comments inline.

Thanks, I can reproduce this bug. It's not a filter problem, I think
it looks like a bug. "report" and "quot" commands all print this line:

  > +#ID 0 512 2048 00 [--------] 0 10 20 00 [--------]

it doesn't likes xfsprogs bug(maybe kernel bug).

That redundant output use fsgqa's group id as the #ID, but we test
project quota at that part. On the other side:
1. we mount and set group quota for fsgqa, then umount.
2. we mount and set project quota for fsgqa, then report or quot project
quota will print:
  $project_ID_fsgqa .....
  $group_ID_of_fsgqa ..... 

The second line is redundant. So it's a problem of group quota & project
quota. If test project quota before group quota, no this bug.
Only if you set group quota at first, then set project quota, then the
bug can be reproduce.

I'm digging into it, try to sure if it's the same with
"[PATCH] xfs: add missing break in xfs_parseargs()" at first. Then do
more debug.
 

> 
> > 
> > Hi,
> > 
> > V2 changed below:
> [snip]
> > diff --git a/tests/xfs/106 b/tests/xfs/106
> > index 74658a6..f8593d0 100755
> > --- a/tests/xfs/106
> > +++ b/tests/xfs/106
> > @@ -31,208 +31,289 @@ echo "QA output created by $seq"
> >  here=`pwd`
> >  tmp=/tmp/$$
> >  status=1	# failure is the default!
> > -trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
> > +trap "_cleanup; exit \$status" 0 1 2 3 15
> > +
> > +_cleanup()
> > +{
> > +    cd /
> > +    rm -f $tmp.*
> 
> Seems you use 4 spaces for indention, please use tab instead (8 spaces
> width). Some old tests are using 4 spaces for indention, but we're in
> the progress to convert all these tests to use tab (very slowly), mainly
> by the chance of updating old tests like this :)

Sorry, my emacs configed as 4 spaces if edit shell script. I'll change that.

> 
> > +}
> >  
> >  # get standard environment, filters and checks
> >  . ./common/rc
> >  . ./common/filter
> >  . ./common/quota
> >  
> > +# remove previous $seqres.full before test
> > +rm -f $seqres.full
> > +
> > +# real QA test starts here
> >  _supported_fs xfs
> > -_supported_os Linux #IRIX
> > +_supported_os Linux
> >  _require_scratch
> >  _require_xfs_quota
> > +_require_user
> > +_require_group
> >  
> > -# real QA test starts here
> > -_scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs
> > -cat $tmp.mkfs >$seqres.full
> > -. $tmp.mkfs
> > +_scratch_mkfs_xfs >$seqres.full 2>&1
> >  
> > -# setup a default run
> > -if [ -z "$MOUNT_OPTIONS" ]; then
> > -	export MOUNT_OPTIONS="-o pquota,sync"
> > -else
> > -	export MOUNT_OPTIONS="$MOUNT_OPTIONS -o sync"
> > -fi
> > +uqid=`id -u fsgqa`
> > +gqid=`id -g fsgqa`
> > +pqid=10
> > +cat >$tmp.projects <<EOF
> > +$pqid:$SCRATCH_MNT
> > +EOF
> >  
> > -_qmount
> > -_require_prjquota $SCRATCH_DEV
> > +cat >$tmp.projid <<EOF
> > +root:0
> > +fsgqa:$pqid
> > +EOF
> >  
> > -# initial populate
> > -target=$SCRATCH_MNT/target
> > -$FSSTRESS_PROG -z -s 57069 -m 8 -n 1000 -p 4 \
> > --f allocsp=1 \
> > --f chown=3 \
> > --f creat=4 \
> > --f dwrite=4 \
> > --f fallocate=1 \
> > --f fdatasync=1 \
> > --f fiemap=1 \
> > --f freesp=1 \
> > --f fsync=1 \
> > --f link=1 \
> > --f mkdir=2 \
> > --f mknod=2 \
> > --f punch=1 \
> > --f rename=2 \
> > --f resvsp=1 \
> > --f rmdir=1 \
> > --f setxattr=1 \
> > --f symlink=2 \
> > --f sync=1 \
> > --f truncate=2 \
> > --f unlink=1 \
> > --f unresvsp=1 \
> > --f write=4 \
> > --d $target
> > -
> > -$FSSTRESS_PROG -z -s 57069 -m 8 -n 1000 -p 4 \
> > --f chown=500 \
> > --f setxattr=500 \
> > --d $target
> > -
> > -# also use space, to be able to go over/under limits easily
> > -uid=255
> > -gid=254
> > -prid=253
> > -rm -f $SCRATCH_MNT/resv
> > -$XFS_IO_PROG -fc "resvsp 0 200m" -c "chproj $prid" $SCRATCH_MNT/resv
> > -chown $uid $SCRATCH_MNT/resv
> > -chgrp $gid $SCRATCH_MNT/resv
> > +create_files()
> > +{
> > +    local bs=$1
> > +    local inum=$2
> >  
> > -_qmount
> > +    echo "Using type=$type id=$id" >> $seqres.full
> > +
> > +    for ((i=0; i<$((inum-1)); i++))
> > +    do
> > +	_file_as_id $SCRATCH_MNT/inode$i $id $type 1024 0
> > +    done
> 
> Please use this for format
> 
> 	for ...; do
> 		...
> 	done

Sure, I'll do that.


Thanks,
Zorro


> 
> Thanks,
> Eryu
>
--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Zorro Lang May 24, 2016, 8:37 a.m. UTC | #2
On Mon, May 23, 2016 at 03:46:54PM +0800, Eryu Guan wrote:
> On Tue, May 17, 2016 at 12:41:50PM +0800, Zorro Lang wrote:
> > xfs/106 try to do some basic xfs_quota functionality test. I think
> > basic function test is important, especially there're only few
> > cases about xfs_quota now. But due to it's too old, there're 3
> > problems cause no one run it again:
> >    1. Some quota commands can't be used, but this case try to use it.
> >       e.g. "warn" command.
> >    2. Some quota commands can be used now, but this case doesn't test
> >       them, because they can't work previously. e.g. "disable, enable,
> >       off and remove" comands
> >    3. Some expected output in 106.out file become incorrect now.
> > 
> > I rewrite this case for above 3 reasons. This case nearly test all
> > xfs_quota commands and options now, except:
> >    1. some "-v" options
> >    2. all "-a" options. I can't control the golden file if print all
> >       filesystem's quota info in it.
> >    3. default quota. I think it can be tested in another case.
> >    4. project command options. I will write another case to test it.
> >    5. report command -l option. It's a new option, will cause failure
> >       if someone test on a release with xfsprogs-3.1.
> >    6. quot command -c option. It maybe output different histogram in
> >       different system or machine.
> >    7. warn command. This feature is not currently implemented.
> >    8. print, df, free, help, quit and path commands.
> > 
> > Signed-off-by: Zorro Lang <zlang@redhat.com>
> > ---
> 
> I'm not so familiar with xfs quota, so I just ran the test and review it
> from a more general perspective.
> 
> The test works well on v5 xfs, but it fails when test on v4 xfs, e.g.
> 
> [root@dhcp-66-86-11 xfstests]# diff -u tests/xfs/106.out /root/workspace/xfstests/results//xfs_512/xfs/106.out.bad
> --- tests/xfs/106.out   2016-05-23 15:07:41.439000000 +0800
> +++ /root/workspace/xfstests/results//xfs_512/xfs/106.out.bad   2016-05-23 15:15:16.558000000 +0800
> @@ -349,10 +349,12 @@
>  Project ID Used Soft Hard Warn/Grace Used Soft Hard Warn/ Grace
>  ---------- -------------------------------------------------- --------------------------------------------------
>  fsgqa 1024 512 2048 00 [3 days] 15 10 20 00 [3 days]
> +#ID 0 512 2048 00 [--------] 0 10 20 00 [--------]
> ...
> 
> Maybe the test needs more filters?
> 
> Also, it fails fsck on v4 xfs, but this is not xfs/106 specific, I saw
> many other quota related tests failed the same way with v4 xfs. (I
> reported this issue to xfs list along other issues back in Mar., see
> http://oss.sgi.com/archives/xfs/2016-03/msg00063.html).
> 
> *** xfs_repair -n output ***
> Phase 1 - find and verify superblock...
> Phase 2 - using internal log
>         - zero log...
>         - scan filesystem freespace and inode maps...
>         - found root inode chunk
> Phase 3 - for each AG...
>         - scan (but don't clear) agi unlinked lists...
>         - process known inodes and perform inode discovery...
>         - agno = 0
>         - agno = 1
>         - agno = 2
>         - agno = 3
>         - process newly discovered inodes...
> Phase 4 - check for duplicate blocks...
>         - setting up duplicate extent list...
>         - check for inodes claiming duplicate blocks...
>         - agno = 0
>         - agno = 2
>         - agno = 1
>         - agno = 3
> No modify flag set, skipping phase 5
> Phase 6 - check inode connectivity...
>         - traversing filesystem ...
>         - traversal finished ...
>         - moving disconnected inodes to lost+found ...
> disconnected inode 36, would move to lost+found
> Phase 7 - verify link counts...
> No modify flag set, skipping filesystem flush and exiting.
> *** end xfs_repair output
> 
> 
> And some minor (coding style) comments inline.

Hi,

I think I undertand what happened at here. V4 xfs don't support separate
project inode, it no pquotino feild in super block. So project and group
quota use same place to store quota info on disk. If you set any of
project or group quota, it will effect each other(if you don't clear it).

In my new xfs/106 case, I set group quota(ID=1001) at first, then set
project quota(ID=10). At this time, no matter project or group quota can
find #10 and #1001 quota on disk. But due to there's no group id 10 in
the test system, so the report or quot command don't report #10 for group
quota.

I think this's not belong to bug? Do we need to sure group quota is cleared
when we mount project quota? I think not. The user should deal with it.

About the xfs_repair failure, I think it due to we set to same names but
different ID number into quota. In the new xfs/106, I set group id 1001
named fsgqa, then set project id 10 named fsgqa too. I think this cause
this xfs_repair failure.

So the way to deal with this problem is clear group quota, before test
project quota. Let me change my case, maybe run scrach_mkfs before
project quota test will be better.

If someone learn about xfs quota more, could you help to sure if what I
said is right?

Thanks,
Zorro

> 
> > 
> > Hi,
> > 
> > V2 changed below:
> [snip]
> > diff --git a/tests/xfs/106 b/tests/xfs/106
> > index 74658a6..f8593d0 100755
> > --- a/tests/xfs/106
> > +++ b/tests/xfs/106
> > @@ -31,208 +31,289 @@ echo "QA output created by $seq"
> >  here=`pwd`
> >  tmp=/tmp/$$
> >  status=1	# failure is the default!
> > -trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
> > +trap "_cleanup; exit \$status" 0 1 2 3 15
> > +
> > +_cleanup()
> > +{
> > +    cd /
> > +    rm -f $tmp.*
> 
> Seems you use 4 spaces for indention, please use tab instead (8 spaces
> width). Some old tests are using 4 spaces for indention, but we're in
> the progress to convert all these tests to use tab (very slowly), mainly
> by the chance of updating old tests like this :)
> 
> > +}
> >  
> >  # get standard environment, filters and checks
> >  . ./common/rc
> >  . ./common/filter
> >  . ./common/quota
> >  
> > +# remove previous $seqres.full before test
> > +rm -f $seqres.full
> > +
> > +# real QA test starts here
> >  _supported_fs xfs
> > -_supported_os Linux #IRIX
> > +_supported_os Linux
> >  _require_scratch
> >  _require_xfs_quota
> > +_require_user
> > +_require_group
> >  
> > -# real QA test starts here
> > -_scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs
> > -cat $tmp.mkfs >$seqres.full
> > -. $tmp.mkfs
> > +_scratch_mkfs_xfs >$seqres.full 2>&1
> >  
> > -# setup a default run
> > -if [ -z "$MOUNT_OPTIONS" ]; then
> > -	export MOUNT_OPTIONS="-o pquota,sync"
> > -else
> > -	export MOUNT_OPTIONS="$MOUNT_OPTIONS -o sync"
> > -fi
> > +uqid=`id -u fsgqa`
> > +gqid=`id -g fsgqa`
> > +pqid=10
> > +cat >$tmp.projects <<EOF
> > +$pqid:$SCRATCH_MNT
> > +EOF
> >  
> > -_qmount
> > -_require_prjquota $SCRATCH_DEV
> > +cat >$tmp.projid <<EOF
> > +root:0
> > +fsgqa:$pqid
> > +EOF
> >  
> > -# initial populate
> > -target=$SCRATCH_MNT/target
> > -$FSSTRESS_PROG -z -s 57069 -m 8 -n 1000 -p 4 \
> > --f allocsp=1 \
> > --f chown=3 \
> > --f creat=4 \
> > --f dwrite=4 \
> > --f fallocate=1 \
> > --f fdatasync=1 \
> > --f fiemap=1 \
> > --f freesp=1 \
> > --f fsync=1 \
> > --f link=1 \
> > --f mkdir=2 \
> > --f mknod=2 \
> > --f punch=1 \
> > --f rename=2 \
> > --f resvsp=1 \
> > --f rmdir=1 \
> > --f setxattr=1 \
> > --f symlink=2 \
> > --f sync=1 \
> > --f truncate=2 \
> > --f unlink=1 \
> > --f unresvsp=1 \
> > --f write=4 \
> > --d $target
> > -
> > -$FSSTRESS_PROG -z -s 57069 -m 8 -n 1000 -p 4 \
> > --f chown=500 \
> > --f setxattr=500 \
> > --d $target
> > -
> > -# also use space, to be able to go over/under limits easily
> > -uid=255
> > -gid=254
> > -prid=253
> > -rm -f $SCRATCH_MNT/resv
> > -$XFS_IO_PROG -fc "resvsp 0 200m" -c "chproj $prid" $SCRATCH_MNT/resv
> > -chown $uid $SCRATCH_MNT/resv
> > -chgrp $gid $SCRATCH_MNT/resv
> > +create_files()
> > +{
> > +    local bs=$1
> > +    local inum=$2
> >  
> > -_qmount
> > +    echo "Using type=$type id=$id" >> $seqres.full
> > +
> > +    for ((i=0; i<$((inum-1)); i++))
> > +    do
> > +	_file_as_id $SCRATCH_MNT/inode$i $id $type 1024 0
> > +    done
> 
> Please use this for format
> 
> 	for ...; do
> 		...
> 	done
> 
> Thanks,
> Eryu
--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- tests/xfs/106.out   2016-05-23 15:07:41.439000000 +0800
+++ /root/workspace/xfstests/results//xfs_512/xfs/106.out.bad   2016-05-23 15:15:16.558000000 +0800
@@ -349,10 +349,12 @@ 
 Project ID Used Soft Hard Warn/Grace Used Soft Hard Warn/ Grace
 ---------- -------------------------------------------------- --------------------------------------------------
 fsgqa 1024 512 2048 00 [3 days] 15 10 20 00 [3 days]
+#ID 0 512 2048 00 [--------] 0 10 20 00 [--------]
...

Maybe the test needs more filters?

Also, it fails fsck on v4 xfs, but this is not xfs/106 specific, I saw
many other quota related tests failed the same way with v4 xfs. (I
reported this issue to xfs list along other issues back in Mar., see
http://oss.sgi.com/archives/xfs/2016-03/msg00063.html).