diff mbox series

btrfs/232: fix umount failure due to fsstress still running

Message ID 024df0e67e78e0a77fedef4f6451eab6b26326b6.1616068024.git.fdmanana@suse.com (mailing list archive)
State New, archived
Headers show
Series btrfs/232: fix umount failure due to fsstress still running | expand

Commit Message

Filipe Manana March 18, 2021, 11:48 a.m. UTC
From: Filipe Manana <fdmanana@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 <fdmanana@suse.com>
---
 tests/btrfs/232 | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Eryu Guan March 21, 2021, 1:13 p.m. UTC | #1
On Thu, Mar 18, 2021 at 11:48:15AM +0000, fdmanana@kernel.org wrote:
> From: Filipe Manana <fdmanana@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 <fdmanana@suse.com>

Thanks for the fix! I missed that in review..

Thanks,
Eryu

> ---
>  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
diff mbox series

Patch

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