generic/019: kill background processes on interrupt
authorDave Chinner <dchinner@redhat.com>
Mon, 11 Apr 2022 05:48:33 +0000 (15:48 +1000)
committerEryu Guan <guaneryu@gmail.com>
Sun, 17 Apr 2022 14:47:41 +0000 (22:47 +0800)
If you ctrl-c generic/019, it leaves fsstress processes running.
Kill them in the cleanup function so that they don't have to be
manually killed after interrupting the test.

While touching the _cleanup() function, make it do everything that
the generic _cleanup function it overrides does and fix the
indenting.

[Eryu: unset fs_pid and fio_pid after wait]

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: David Disseldorp <ddiss@suse.de>
Reviewed-by: Zorro Lang <zlang@redhat.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/generic/019

index db56dac1ed1e3125e706da694d569531fb994841..854ba57de0b63567a5b5a429c1a3bfc519ddd9cd 100755 (executable)
@@ -53,8 +53,10 @@ stop_fail_scratch_dev()
 # Override the default cleanup function.
 _cleanup()
 {
-    disallow_fail_make_request
-    rm -f $tmp.*
+       kill $fs_pid $fio_pid &> /dev/null
+       disallow_fail_make_request
+       cd /
+       rm -r -f $tmp.*
 }
 
 RUN_TIME=$((20+10*$TIME_FACTOR))
@@ -138,6 +140,8 @@ _workout()
        kill $fs_pid &> /dev/null
        wait $fs_pid
        wait $fio_pid
+       unset $fs_pid
+       unset $fio_pid
 
        # We expect that broken FS still can be umounted
        run_check _scratch_unmount