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 <bo.li.liu@oracle.com>
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Tested-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
Liu Bo
2018-01-16 13:10:17 -07:00
committed by Eryu Guan
parent ee55ddd38f
commit 372e96e92c
+4
View File
@@ -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