From: Filipe Manana <fdman...@suse.com>

We start a process that runs fsstress, then kill the process, wait for it
to die and then end the test, where we attempt to unmount the fs which
often fails because the fsstress subcommand started by the process is
still running and using the mount point. This results in a test failure:

  btrfs/232 1s ... umount: /home/fdmanana/btrfs-tests/scratch_1: target is busy.
  _check_btrfs_filesystem: filesystem on /dev/sdc is inconsistent
  (see /home/fdmanana/git/hub/xfstests/results//btrfs/232.full for details)

Fix that by adding a trap to the writer() function.

Signed-off-by: Filipe Manana <fdman...@suse.com>
---
 tests/btrfs/232 | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/tests/btrfs/232 b/tests/btrfs/232
index b0a04a61..b9841410 100755
--- a/tests/btrfs/232
+++ b/tests/btrfs/232
@@ -32,6 +32,10 @@ _cleanup()
 
 writer()
 {
+       # Wait for running fsstress subcommand before exitting so that
+       # mountpoint is not busy when we try to unmount it.
+       trap "wait; exit" SIGTERM
+
        while true; do
                args=`_scale_fsstress_args -p 20 -n 1000 $FSSTRESS_AVOID -d 
$SCRATCH_MNT/stressdir`
                $FSSTRESS_PROG $args >/dev/null 2>&1
-- 
2.28.0

Reply via email to