From 372e96e92ce570a75aa6d6cf1f39c05fc28e05d7 Mon Sep 17 00:00:00 2001 From: Liu Bo Date: Tue, 16 Jan 2018 13:10:17 -0700 Subject: [PATCH] btrfs/011: umount device in _cleanup btrfs/011 replaces the first device in SCRATCH_DEV_POOL in test, which is SCRATCH_DEV, and it fails to umount SCRATCH_MNT when it aborts, because _cleanup doesn't do any umount. This may leave SCRATCH_DEV not used but other devices from SCRATCH_DEV_POOL still mounted on SCRATCH_MNT. Then this results in SCRATCH_DEV unusable for subsequent tests because _require_scratch couldn't umount detect & umount SCRATCH_DEV correctly. Fix it by umounting SCRATCH_MNT in _cleanup, so the test always umounts the devices on exit. [eguan: add comments and rewrite summary and commit log] Signed-off-by: Liu Bo Reviewed-by: Anand Jain Tested-by: Anand Jain Signed-off-by: Eryu Guan --- tests/btrfs/011 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/btrfs/011 b/tests/btrfs/011 index 28f138843..4aae22dc6 100755 --- a/tests/btrfs/011 +++ b/tests/btrfs/011 @@ -51,6 +51,10 @@ _cleanup() fi wait rm -f $tmp.tmp + # we need this umount and couldn't rely on _require_scratch to umount + # it from next test, because we would replace SCRATCH_DEV, which is + # needed by _require_scratch, and make it umounted. + _scratch_unmount > /dev/null 2>&1 } trap "_cleanup; exit \$status" 0 1 2 3 15 -- 2.51.0