On 7/24/24 21:58, fdmanana@xxxxxxxxxx wrote:
From: Filipe Manana <fdmanana@xxxxxxxx> When killing a test that is using the subvolume stress worker, we may end up in a situation where we end up leaving a subvolume mounted which makes the shutdown sequence fail. Example when killing a script that keeps running fstests in a loop: FSTYP -- btrfs PLATFORM -- Linux/x86_64 debian0 6.10.0-rc7-btrfs-next-167+ #1 SMP PREEMPT_DYNAMIC Thu Jul 11 17:54:07 WEST 2024 MKFS_OPTIONS -- /dev/sdc MOUNT_OPTIONS -- /dev/sdc /home/fdmanana/btrfs-tests/scratch_1 (...) btrfs/065 23s ... ^C^C^C Iteration 134, errors 1, leaks 0, Wed Jul 24 12:14:33 PM WEST 2024, flakey errors: 0 MKFS_OPTIONS="" MOUNT_OPTIONS="" SCRATCH_DEV=/dev/sdc is mounted but not on SCRATCH_MNT=/home/fdmanana/btrfs-tests/scratch_1 - aborting Already mounted result: /dev/sdc /home/fdmanana/btrfs-tests/scratch_1 /dev/sdc /home/fdmanana/btrfs-tests/dev/065.mnt grep: results/btrfs/065.out.bad: No such file or directory Error iteration 134, total errors 2, leaks 0 'results/btrfs/065.full' -> '/home/fdmanana/failures/btrfs_065/134/065.full' Running 'mount' to see what's going on: $ mount (...) /dev/sdb on /home/fdmanana/btrfs-tests/dev type btrfs (rw,relatime,discard=async,space_cache=v2,subvolid=5,subvol=/) /dev/sdc on /home/fdmanana/btrfs-tests/scratch_1 type btrfs (rw,relatime,discard=async,space_cache=v2,subvolid=5,subvol=/) /dev/sdc on /home/fdmanana/btrfs-tests/dev/065.mnt type btrfs (rw,relatime,discard=async,space_cache=v2,subvolid=2627,subvol=/subvol_3395330) Then this makes the next attempt to run a test (./check) always fail due to the extra mount of the subvolume, requiring one to manually umount the subvolume before running fstests again. So update _btrfs_kill_stress_subvolume_pid() to also unmount the subvolume. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
Reviewed-by: Anand Jain <anand.jain@xxxxxxxxxx> Thx.