From 724ec8989bcc356e0925bedb353198bdbe4f2bef Mon Sep 17 00:00:00 2001 From: Enji Cooper Date: Tue, 9 Apr 2019 16:20:36 +0000 Subject: [PATCH] Fix geli device cleanup Final cleanup routines shouldn't be called from testcases; it should be called from the testcase cleanup routine. Furthermore, `geli_test_cleanup` should take care of cleaning up geli providers and the memory disks used for the geli providers. `geli_test_cleanup` will always be executed whereas the equivalent logic in `geli_test_body`, may not have been executed if the test failed prior to the logic being run. Prior to this change, the test case was trying to clean up `$md` twice: once in at the end of the test case body function, and the other in the cleanup function. The cleanup function logic was failing because there wasn't anything to clean up in the cleanup function and the errors weren't being ignored. This fixes FreeBSD test suite runs after r345864. PR: 237128 Reviewed by: asomers, pjd Approved by: emaste (mentor) MFC with: r345864 Differential Revision: https://reviews.freebsd.org/D19854 --- tests/sys/geom/class/eli/online_resize_test.sh | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/tests/sys/geom/class/eli/online_resize_test.sh b/tests/sys/geom/class/eli/online_resize_test.sh index 195f8da7ae7e..d540577fc5aa 100755 --- a/tests/sys/geom/class/eli/online_resize_test.sh +++ b/tests/sys/geom/class/eli/online_resize_test.sh @@ -172,22 +172,18 @@ online_resize_body() atf_check -s exit:0 -o match:'^Flags: .*AUTORESIZE' geli list ${md}p1.eli atf_check -s exit:0 -o match:resized gpart resize -i 1 -s 30${prefix} ${md} atf_check -s exit:0 -o match:"^[[:space:]]${osize30}[[:space:]]+# mediasize in bytes" diskinfo -v ${md}p1.eli - atf_check geli detach ${md}p1.eli - - # Cleanup. - atf_check -s exit:0 -o match:deleted gpart delete -i 1 ${md} - atf_check -s exit:0 -o match:destroyed gpart destroy ${md} - atf_check -s exit:0 -o ignore mdconfig -d -u ${md} done } online_resize_cleanup() { if [ -f "$TEST_MDS_FILE" ]; then while read md; do - [ -c /dev/${md}p1.eli ] && geli detach ${md}p1.eli - mdconfig -d -u ${md} 2>/dev/null + atf_check -s ignore -e ignore -o ignore geli detach ${md}p1.eli + atf_check -s ignore -e ignore -o ignore gpart delete -i 1 ${md} + atf_check -s ignore -e ignore -o ignore gpart destroy ${md} done < $TEST_MDS_FILE fi + geli_test_cleanup } atf_init_test_cases()