xfs
[Top] [All Lists]

Re: [PATCH] xfstests: btrfs/276 - stop all fsstress before exiting

To: Jan Schmidt <list.btrfs@xxxxxxxxxxxxx>
Subject: Re: [PATCH] xfstests: btrfs/276 - stop all fsstress before exiting
From: Eric Sandeen <esandeen@xxxxxxxxxx>
Date: Fri, 26 Apr 2013 09:10:14 -0400 (EDT)
Cc: Eric Sandeen <sandeen@xxxxxxxxxx>, xfs-oss <xfs@xxxxxxxxxxx>, linux-btrfs <linux-btrfs@xxxxxxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <517A3C49.9090703@xxxxxxxxxxxxx>
References: <517A10B1.7040107@xxxxxxxxxx> <517A3C49.9090703@xxxxxxxxxxxxx>
Thread-index: GSiqwTL/lhtPXU2LMu03KTJIneXw9Q==
Thread-topic: xfstests: btrfs/276 - stop all fsstress before exiting
On Apr 26, 2013, at 3:35 AM, Jan Schmidt <list.btrfs@xxxxxxxxxxxxx> wrote:

> On Fri, April 26, 2013 at 07:29 (+0200), Eric Sandeen wrote:
>> Tests after 276 were failing because the background fsstress
>> hadn't quit prior to exit, devices couldn't be unmounted, etc.
> 
> I don't see how that would happen. Any further insight?
> 
Yes, sorry for not including it.  The parent process was killed, but the 
fsstress processes just got reparented to init.  

I tried for a while to use pkill to knock them of first but this seems simpler, 
actually.

Eric

>> Just use the same trick as generic/068 does, and use
>> a tmpfile to control whether the background loop keeps
>> running.
> 
> I like that trick :-)
> 
> Thanks,
> -Jan
> 
>> Also, no need to umount scratch at cleanup time, the scripts
>> do that for us.
>> 
>> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
>> ---
>> 
>> (nobody else ran into this?  really?)
>> 
>> diff --git a/tests/btrfs/276 b/tests/btrfs/276
>> index 0a5ce36..9d68b54 100755
>> --- a/tests/btrfs/276
>> +++ b/tests/btrfs/276
>> @@ -36,14 +36,8 @@ noise_pid=0
>> 
>> _cleanup()
>> {
>> -    if [ $noise_pid -ne 0 ]; then
>> -        echo "background noise kill $noise_pid" >>$seqres.full
>> -        kill $noise_pid
>> -        noise_pid=0
>> -        wait
>> -    fi
>> -    echo "*** unmount"
>> -    umount $SCRATCH_MNT 2>/dev/null
>> +    rm $tmp.running
>> +    wait
>>    rm -f $tmp.*
>> }
>> trap "_cleanup; exit \$status" 0 1 2 3 15
>> @@ -210,7 +204,7 @@ workout()
>> 
>>    if [ $do_bg_noise -ne 0 ]; then
>>        # make background noise while backrefs are being walked
>> -        while /bin/true; do
>> +        while [ -f "$tmp.running" ]; do
>>            echo background fsstress >>$seqres.full
>>            run_check $FSSTRESS_PROG -d $SCRATCH_MNT/bgnoise -n 999
>>            echo background rm >>$seqres.full
>> @@ -263,6 +257,8 @@ nfiles=4
>> numprocs=1
>> do_bg_noise=1
>> 
>> +touch $tmp.running
>> +
>> workout $filesize $nfiles $numprocs $snap_name $do_bg_noise
>> 
>> echo "*** done"
>> diff --git a/tests/btrfs/276.out b/tests/btrfs/276.out
>> index 2032dea..5113164 100644
>> --- a/tests/btrfs/276.out
>> +++ b/tests/btrfs/276.out
>> @@ -1,4 +1,3 @@
>> QA output created by 276
>> *** test backref walking
>> *** done
>> -*** unmount
>> 
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> 

<Prev in Thread] Current Thread [Next in Thread>