From: Filipe Manana <fdmanana@xxxxxxxx> If we interrupt the test after it spawned the fsstress and balance processes (while it's sleeping for 30 seconds * $TIME_FACTOR), we don't kill them and they stay around for a long time, making it impossible to unmount the scratch filesystem (failing with -EBUSY). Fix this by adding a _cleanup function that kills the processes and waits for them to exit. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> --- tests/btrfs/028 | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/btrfs/028 b/tests/btrfs/028 index f64fc831..4ef83423 100755 --- a/tests/btrfs/028 +++ b/tests/btrfs/028 @@ -13,6 +13,19 @@ . ./common/preamble _begin_fstest auto qgroup balance +_cleanup() +{ + cd / + rm -r -f $tmp.* + if [ ! -z "$balance_pid" ]; then + _btrfs_kill_stress_balance_pid $balance_pid + fi + if [ ! -z "$fsstress_pid" ]; then + kill $fsstress_pid &> /dev/null + wait $fsstress_pid &> /dev/null + fi +} + . ./common/filter _require_scratch -- 2.45.2