git: 9c82ba247373 - stable/13 - mdconfig: Add a regression test for mediasize rounding

Mark Johnston markj at FreeBSD.org
Tue Sep 7 13:36:22 UTC 2021


The branch stable/13 has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=9c82ba247373069be477268ddf785797994eeb1e

commit 9c82ba247373069be477268ddf785797994eeb1e
Author:     Mark Johnston <markj at FreeBSD.org>
AuthorDate: 2021-08-31 19:50:09 +0000
Commit:     Mark Johnston <markj at FreeBSD.org>
CommitDate: 2021-09-07 13:36:18 +0000

    mdconfig: Add a regression test for mediasize rounding
    
    Sponsored by:   The FreeBSD Foundation
    
    (cherry picked from commit ed59446b47095fc20c1f77e832286f5b953cd289)
---
 sbin/mdconfig/tests/mdconfig_test.sh | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/sbin/mdconfig/tests/mdconfig_test.sh b/sbin/mdconfig/tests/mdconfig_test.sh
index 92ba0342447c..c3a5f85e341b 100755
--- a/sbin/mdconfig/tests/mdconfig_test.sh
+++ b/sbin/mdconfig/tests/mdconfig_test.sh
@@ -267,6 +267,36 @@ attach_with_specific_unit_number_cleanup()
 	cleanup_common
 }
 
+atf_test_case attach_size_rounddown cleanup
+attach_size_rounddown()
+{
+	atf_set "descr" "Verify that md provider sizes are a multiple of the sector size"
+}
+attach_size_rounddown_body()
+{
+	local md
+	local ss=8192
+	local ms=$(($ss + 4096))
+	local ms2=$((2 * $ss + 4096))
+
+	# Use a sector size that's a likely multiple of PAGE_SIZE, as md(4)
+	# expects that for swap MDs.
+	atf_check -s exit:0 -o save:mdconfig.out -e empty \
+	    -x "mdconfig -a -t swap -S $ss -s ${ms}b"
+	md=$(cat mdconfig.out)
+	# 12288 bytes should be rounded down to one sector.
+	check_diskinfo "$md" 8192 1 $ss
+
+	# Resize and verify that the new size was also rounded down.
+	atf_check -s exit:0 -o empty -e empty \
+	    -x "mdconfig -r -u ${md#md} -s ${ms2}b"
+	check_diskinfo "$md" 16384 2 $ss
+}
+attach_size_rounddown()
+{
+	cleanup_common
+}
+
 atf_init_test_cases()
 {
 	atf_add_test_case attach_vnode_non_explicit_type
@@ -277,4 +307,5 @@ atf_init_test_cases()
 	atf_add_test_case attach_malloc
 	atf_add_test_case attach_swap
 	atf_add_test_case attach_with_specific_unit_number
+	atf_add_test_case attach_size_rounddown
 }


More information about the dev-commits-src-all mailing list