* Re: [PATCH] xfstests: v2 xfs directory unbalance assert test
2013-09-17 19:25 [PATCH] xfstests: v2 xfs directory unbalance assert test Mark Tinguely
@ 2013-09-17 19:37 ` Eric Sandeen
2013-09-17 20:03 ` Mark Tinguely
2013-09-17 21:34 ` Dave Chinner
` (2 subsequent siblings)
3 siblings, 1 reply; 9+ messages in thread
From: Eric Sandeen @ 2013-09-17 19:37 UTC (permalink / raw)
To: Mark Tinguely; +Cc: xfs
On 9/17/13 2:25 PM, Mark Tinguely wrote:
> This tests triggers an assert in the XFS directory unbalance code.
> This test originally written by Brian Foster and suggestions
> from Micheal Semon.
>
> Signed-off-by: Mark Tinguely <tinguely@sgi.com>
> ---
> v1->v2:
> remove clean up.
> remove $seqres.full before test.
> remove scratch mount.
> 11g -> calculate 11g bytes.
> check for failing mkfs and mount.
> add a safer removal of the scratch files.
>
> put into auto group and "long" group so people can opt out:
> this test almost an hour on my test box.
Is there any way to do a more targeted test than 1hr of fsstress? :(
(TBH I didn't follow the bug, so not sure what it takes to repro)
Otherwise seems fine.
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
> tests/generic/319 | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++
> tests/generic/319.out | 2 +
> tests/generic/group | 1
> 3 files changed, 59 insertions(+)
>
> Index: b/tests/generic/319
> ===================================================================
> --- /dev/null
> +++ b/tests/generic/319
> @@ -0,0 +1,56 @@
> +#! /bin/bash
> +# FS QA Test No. 319
> +#
> +# Test directory code correctly handles fsstress filling the filesystem
> +#
> +#-----------------------------------------------------------------------
> +# Copyright (c) 2013 SGI. All Rights Reserved.
> +#
> +# This program is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU General Public License as
> +# published by the Free Software Foundation.
> +#
> +# This program is distributed in the hope that it would be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program; if not, write the Free Software Foundation,
> +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
> +#-----------------------------------------------------------------------
> +#
> +
> +seq=`basename $0`
> +seqres=$RESULT_DIR/$seq
> +echo "QA output created by $seq"
> +
> +here=`pwd`
> +tmp=/tmp/$$
> +status=1 # failure is the default!
> +trap "_cleanup; exit \$status" 0 1 2 3 15
> +
> +# get standard environment, filters and checks
> +. ./common/rc
> +. ./common/filter
> +_require_scratch
> +
> +# real QA test starts here
> +
> +_supported_fs generic
> +_supported_os IRIX Linux
> +
> +rm -f $seqres.full
> +_scratch_mkfs_sized $((11 * 1024 * 1024 * 1024)) >> $seqres.full 2>&1 \
> + || _fail "mkfs failed"
> +run_check _scratch_mount >> $seqres.full
> +
> +# Fill the filesystem.
> +FSSTRESS_ARGS="-z -s 1378390208 -fsymlink=1 -n7500000 -p4 -d $SCRATCH_MNT"
> +$FSSTRESS_PROG $FSSTRESS_ARGS >> $seqres.full 2>&1
> +
> +# A debug XFS may assert in the remove due to a directory bug.
> +rm -rf $SCRATCH_MNT/p?
> +echo "--- silence is golden ---"
> +status=0
> +exit
> Index: b/tests/generic/319.out
> ===================================================================
> --- /dev/null
> +++ b/tests/generic/319.out
> @@ -0,0 +1,2 @@
> +QA output created by 319
> +--- silence is golden ---
> Index: b/tests/generic/group
> ===================================================================
> --- a/tests/generic/group
> +++ b/tests/generic/group
> @@ -121,3 +121,4 @@
> 316 auto quick
> 317 auto metadata quick
> 318 acl attr auto quick
> +319 auto stress long
>
>
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
>
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH] xfstests: v2 xfs directory unbalance assert test
2013-09-17 19:37 ` Eric Sandeen
@ 2013-09-17 20:03 ` Mark Tinguely
0 siblings, 0 replies; 9+ messages in thread
From: Mark Tinguely @ 2013-09-17 20:03 UTC (permalink / raw)
To: Eric Sandeen; +Cc: xfs
On 09/17/13 14:37, Eric Sandeen wrote:
> On 9/17/13 2:25 PM, Mark Tinguely wrote:
>> This tests triggers an assert in the XFS directory unbalance code.
>> This test originally written by Brian Foster and suggestions
>> from Micheal Semon.
>>
>> Signed-off-by: Mark Tinguely<tinguely@sgi.com>
>> ---
>> v1->v2:
>> remove clean up.
>> remove $seqres.full before test.
>> remove scratch mount.
>> 11g -> calculate 11g bytes.
>> check for failing mkfs and mount.
>> add a safer removal of the scratch files.
>>
>> put into auto group and "long" group so people can opt out:
>> this test almost an hour on my test box.
>
> Is there any way to do a more targeted test than 1hr of fsstress? :(
No, I pruned the test down from a 5 hr test to 1 hr test.
>
> (TBH I didn't follow the bug, so not sure what it takes to repro)
>
> Otherwise seems fine.
>
> Reviewed-by: Eric Sandeen<sandeen@redhat.com>
Thanks.
--Mark.
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] xfstests: v2 xfs directory unbalance assert test
2013-09-17 19:25 [PATCH] xfstests: v2 xfs directory unbalance assert test Mark Tinguely
2013-09-17 19:37 ` Eric Sandeen
@ 2013-09-17 21:34 ` Dave Chinner
2013-09-17 21:35 ` Eric Sandeen
2013-09-18 16:36 ` Michael L. Semon
2013-09-23 23:30 ` Dave Chinner
3 siblings, 1 reply; 9+ messages in thread
From: Dave Chinner @ 2013-09-17 21:34 UTC (permalink / raw)
To: Mark Tinguely; +Cc: xfs
On Tue, Sep 17, 2013 at 02:25:23PM -0500, Mark Tinguely wrote:
> This tests triggers an assert in the XFS directory unbalance code.
> This test originally written by Brian Foster and suggestions
> from Micheal Semon.
>
> Signed-off-by: Mark Tinguely <tinguely@sgi.com>
> ---
> v1->v2:
> remove clean up.
> remove $seqres.full before test.
> remove scratch mount.
> 11g -> calculate 11g bytes.
> check for failing mkfs and mount.
> add a safer removal of the scratch files.
>
> put into auto group and "long" group so people can opt out:
> this test almost an hour on my test box.
45m is too long for the auto group. The entire auto group runs in
50-55 minutes on my test VMs, so doubling that for one test is not
really a good idea.
The usual rule of thumb for the auto group is that the test should
take less than 5 minutes to run. For the quick group, it should take
less than 30-60s to run.
If you want to make this test run in the auto group, scale it for
stress tests via the use of LOAD_FACTOR and TIME_FACTOR, and add it
to the stress group.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] xfstests: v2 xfs directory unbalance assert test
2013-09-17 21:34 ` Dave Chinner
@ 2013-09-17 21:35 ` Eric Sandeen
2013-09-17 22:14 ` Mark Tinguely
0 siblings, 1 reply; 9+ messages in thread
From: Eric Sandeen @ 2013-09-17 21:35 UTC (permalink / raw)
To: Dave Chinner; +Cc: Mark Tinguely, xfs
On 9/17/13 4:34 PM, Dave Chinner wrote:
> On Tue, Sep 17, 2013 at 02:25:23PM -0500, Mark Tinguely wrote:
>> This tests triggers an assert in the XFS directory unbalance code.
>> This test originally written by Brian Foster and suggestions
>> from Micheal Semon.
>>
>> Signed-off-by: Mark Tinguely <tinguely@sgi.com>
>> ---
>> v1->v2:
>> remove clean up.
>> remove $seqres.full before test.
>> remove scratch mount.
>> 11g -> calculate 11g bytes.
>> check for failing mkfs and mount.
>> add a safer removal of the scratch files.
>>
>> put into auto group and "long" group so people can opt out:
>> this test almost an hour on my test box.
>
> 45m is too long for the auto group. The entire auto group runs in
> 50-55 minutes on my test VMs, so doubling that for one test is not
> really a good idea.
Ok, sorry, my fault. Fix on commit?
-Eric
> The usual rule of thumb for the auto group is that the test should
> take less than 5 minutes to run. For the quick group, it should take
> less than 30-60s to run.
>
> If you want to make this test run in the auto group, scale it for
> stress tests via the use of LOAD_FACTOR and TIME_FACTOR, and add it
> to the stress group.
>
> Cheers,
>
> Dave.
>
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] xfstests: v2 xfs directory unbalance assert test
2013-09-17 21:35 ` Eric Sandeen
@ 2013-09-17 22:14 ` Mark Tinguely
0 siblings, 0 replies; 9+ messages in thread
From: Mark Tinguely @ 2013-09-17 22:14 UTC (permalink / raw)
To: Eric Sandeen; +Cc: xfs
On 09/17/13 16:35, Eric Sandeen wrote:
> On 9/17/13 4:34 PM, Dave Chinner wrote:
>> On Tue, Sep 17, 2013 at 02:25:23PM -0500, Mark Tinguely wrote:
>>> This tests triggers an assert in the XFS directory unbalance code.
>>> This test originally written by Brian Foster and suggestions
>>> from Micheal Semon.
>>>
>>> Signed-off-by: Mark Tinguely<tinguely@sgi.com>
>>> ---
>>> v1->v2:
>>> remove clean up.
>>> remove $seqres.full before test.
>>> remove scratch mount.
>>> 11g -> calculate 11g bytes.
>>> check for failing mkfs and mount.
>>> add a safer removal of the scratch files.
>>>
>>> put into auto group and "long" group so people can opt out:
>>> this test almost an hour on my test box.
>>
>> 45m is too long for the auto group. The entire auto group runs in
>> 50-55 minutes on my test VMs, so doubling that for one test is not
>> really a good idea.
>
> Ok, sorry, my fault. Fix on commit?
>
> -Eric
We can't remove much more and still hit the assert, so I am happy to
remove it from the auto group.
--Mark.
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] xfstests: v2 xfs directory unbalance assert test
2013-09-17 19:25 [PATCH] xfstests: v2 xfs directory unbalance assert test Mark Tinguely
2013-09-17 19:37 ` Eric Sandeen
2013-09-17 21:34 ` Dave Chinner
@ 2013-09-18 16:36 ` Michael L. Semon
2013-09-18 17:43 ` Mark Tinguely
2013-09-23 23:30 ` Dave Chinner
3 siblings, 1 reply; 9+ messages in thread
From: Michael L. Semon @ 2013-09-18 16:36 UTC (permalink / raw)
To: Mark Tinguely; +Cc: xfs@oss.sgi.com
Looks good. I tried it on an 11-GB partition with an unpatched git kernel
3.12.0 + xfs-oss/master, coupled with the latest git xfsprogs. It took a
reasonable amount of time, relatively speaking. It put forth the error I was
expecting, and a new 32-bit core is available upon your request but not
uploaded yet.
As for the assert itself, according to kgdb, these are the first, last, and
BBTOB(bp->b_length) numbers for this run:
1544 4591 4096
Good work!
Michael
On Tue, Sep 17, 2013 at 3:25 PM, Mark Tinguely <tinguely@sgi.com> wrote:
> This tests triggers an assert in the XFS directory unbalance code.
> This test originally written by Brian Foster and suggestions
> from Micheal Semon.
>
> Signed-off-by: Mark Tinguely <tinguely@sgi.com>
> ---
> v1->v2:
> remove clean up.
> remove $seqres.full before test.
> remove scratch mount.
> 11g -> calculate 11g bytes.
> check for failing mkfs and mount.
> add a safer removal of the scratch files.
>
> put into auto group and "long" group so people can opt out:
> this test almost an hour on my test box.
>
> tests/generic/319 | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++
> tests/generic/319.out | 2 +
> tests/generic/group | 1
> 3 files changed, 59 insertions(+)
>
> Index: b/tests/generic/319
> ===================================================================
> --- /dev/null
> +++ b/tests/generic/319
> @@ -0,0 +1,56 @@
> +#! /bin/bash
> +# FS QA Test No. 319
> +#
> +# Test directory code correctly handles fsstress filling the filesystem
> +#
> +#-----------------------------------------------------------------------
> +# Copyright (c) 2013 SGI. All Rights Reserved.
> +#
> +# This program is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU General Public License as
> +# published by the Free Software Foundation.
> +#
> +# This program is distributed in the hope that it would be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program; if not, write the Free Software Foundation,
> +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
> +#-----------------------------------------------------------------------
> +#
> +
> +seq=`basename $0`
> +seqres=$RESULT_DIR/$seq
> +echo "QA output created by $seq"
> +
> +here=`pwd`
> +tmp=/tmp/$$
> +status=1 # failure is the default!
> +trap "_cleanup; exit \$status" 0 1 2 3 15
> +
> +# get standard environment, filters and checks
> +. ./common/rc
> +. ./common/filter
> +_require_scratch
> +
> +# real QA test starts here
> +
> +_supported_fs generic
> +_supported_os IRIX Linux
> +
> +rm -f $seqres.full
> +_scratch_mkfs_sized $((11 * 1024 * 1024 * 1024)) >> $seqres.full 2>&1 \
> + || _fail "mkfs failed"
> +run_check _scratch_mount >> $seqres.full
> +
> +# Fill the filesystem.
> +FSSTRESS_ARGS="-z -s 1378390208 -fsymlink=1 -n7500000 -p4 -d $SCRATCH_MNT"
> +$FSSTRESS_PROG $FSSTRESS_ARGS >> $seqres.full 2>&1
> +
> +# A debug XFS may assert in the remove due to a directory bug.
> +rm -rf $SCRATCH_MNT/p?
> +echo "--- silence is golden ---"
> +status=0
> +exit
> Index: b/tests/generic/319.out
> ===================================================================
> --- /dev/null
> +++ b/tests/generic/319.out
> @@ -0,0 +1,2 @@
> +QA output created by 319
> +--- silence is golden ---
> Index: b/tests/generic/group
> ===================================================================
> --- a/tests/generic/group
> +++ b/tests/generic/group
> @@ -121,3 +121,4 @@
> 316 auto quick
> 317 auto metadata quick
> 318 acl attr auto quick
> +319 auto stress long
>
>
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] xfstests: v2 xfs directory unbalance assert test
2013-09-18 16:36 ` Michael L. Semon
@ 2013-09-18 17:43 ` Mark Tinguely
0 siblings, 0 replies; 9+ messages in thread
From: Mark Tinguely @ 2013-09-18 17:43 UTC (permalink / raw)
To: Michael L. Semon; +Cc: xfs@oss.sgi.com
On 09/18/13 11:36, Michael L. Semon wrote:
> Looks good. I tried it on an 11-GB partition with an unpatched git kernel
> 3.12.0 + xfs-oss/master, coupled with the latest git xfsprogs. It took a
> reasonable amount of time, relatively speaking. It put forth the error I was
> expecting, and a new 32-bit core is available upon your request but not
> uploaded yet.
>
> As for the assert itself, according to kgdb, these are the first, last, and
> BBTOB(bp->b_length) numbers for this run:
>
> 1544 4591 4096
>
> Good work!
>
> Michael
Thanks for the feedback.
last > BBTOB(bp->b_length) was also true for the longer version of the
test. The only difference is that it happens earlier in the remove.
I take a closer look at the code.
--Mark.
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] xfstests: v2 xfs directory unbalance assert test
2013-09-17 19:25 [PATCH] xfstests: v2 xfs directory unbalance assert test Mark Tinguely
` (2 preceding siblings ...)
2013-09-18 16:36 ` Michael L. Semon
@ 2013-09-23 23:30 ` Dave Chinner
3 siblings, 0 replies; 9+ messages in thread
From: Dave Chinner @ 2013-09-23 23:30 UTC (permalink / raw)
To: Mark Tinguely; +Cc: xfs
On Tue, Sep 17, 2013 at 02:25:23PM -0500, Mark Tinguely wrote:
> This tests triggers an assert in the XFS directory unbalance code.
> This test originally written by Brian Foster and suggestions
> from Micheal Semon.
>
> Signed-off-by: Mark Tinguely <tinguely@sgi.com>
A recent comment about the _cleanup funtion being removed made me
look at this again....
Where's the trap function to catch a ctrl-c and clean up the test
when that happens?
i.e. at minimum, the trap and cleanup function is used to ensure the
test is marked as failed if it is interrupted, and in this case it
probably needs to kill all the fsstress processes and wait for them
to complete, as well as remove
> put into auto group and "long" group so people can opt out:
> this test almost an hour on my test box.
The group for this is called "stress" - there's no need to introduce
a new group for the same test criteria.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 9+ messages in thread