From: Liu Bo Date: Tue, 16 Jan 2018 20:10:17 +0000 (-0700) Subject: btrfs/011: umount device in _cleanup X-Git-Tag: v2022.05.01~1701 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=372e96e92ce570a75aa6d6cf1f39c05fc28e05d7;p=users%2Fhch%2Fxfstests-dev.git 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 --- 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