]> git-server-git.apps.pok.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
btrfs/232: fix umount failure due to fsstress still running
authorFilipe Manana <fdmanana@suse.com>
Thu, 18 Mar 2021 11:48:15 +0000 (11:48 +0000)
committerEryu Guan <guaneryu@gmail.com>
Sun, 21 Mar 2021 13:13:30 +0000 (21:13 +0800)
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 <fdmanana@suse.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/btrfs/232

index b0a04a612f8c5fe0b0fa23903422c97acfac9faf..b984141061a0246bef7331f2fcf3ed696282b637 100755 (executable)
@@ -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