diff mbox

btrfs-progs: mkfs-tests: Check sectorsize and nodesize combination

Message ID 1448847570-9549-1-git-send-email-quwenruo@cn.fujitsu.com (mailing list archive)
State Accepted
Headers show

Commit Message

Qu Wenruo Nov. 30, 2015, 1:39 a.m. UTC
Add mkfs selftest for invalid and valid sectorsize/nodesize
combination.

Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
---
 .../008-secorsize-nodesize-combination/test.sh     | 51 ++++++++++++++++++++++
 1 file changed, 51 insertions(+)
 create mode 100755 tests/mkfs-tests/008-secorsize-nodesize-combination/test.sh

Comments

David Sterba Nov. 30, 2015, 10 a.m. UTC | #1
On Mon, Nov 30, 2015 at 09:39:30AM +0800, Qu Wenruo wrote:
> Add mkfs selftest for invalid and valid sectorsize/nodesize
> combination.
> 
> Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>

Applied with some changes, thanks.

> +image_size=1g
> +image=image

If you need a single image, just use prepare_test_dev and $TEST_DEV
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Qu Wenruo Nov. 30, 2015, 10:42 a.m. UTC | #2
On 11/30/2015 06:00 PM, David Sterba wrote:
> On Mon, Nov 30, 2015 at 09:39:30AM +0800, Qu Wenruo wrote:
>> Add mkfs selftest for invalid and valid sectorsize/nodesize
>> combination.
>>
>> Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
>
> Applied with some changes, thanks.
>
>> +image_size=1g
>> +image=image
>
> If you need a single image, just use prepare_test_dev and $TEST_DEV

Nice advice, just forgot that.

Thanks,
Qu

> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/tests/mkfs-tests/008-secorsize-nodesize-combination/test.sh b/tests/mkfs-tests/008-secorsize-nodesize-combination/test.sh
new file mode 100755
index 0000000..5bc3a48
--- /dev/null
+++ b/tests/mkfs-tests/008-secorsize-nodesize-combination/test.sh
@@ -0,0 +1,51 @@ 
+#!/bin/bash
+# test variant sectorsize and node size combination
+# including valid ones and invalid ones
+# only do mkfs and fsck check, no mounting check as
+# sub/multi-pagesize is not supported yet.
+
+source $TOP/tests/common
+
+check_prereq mkfs.btrfs
+check_prereq btrfs
+
+# disable mixed bg to avoid sectorsize == nodesize check
+features="^mixed-bg"
+image_size=1g
+image=image
+
+# caller need to judge whether the combination is valid
+do_test()
+{
+	sectorsize=$1
+	nodesize=$2
+	truncate -s $image_size $image
+	run_mayfail $TOP/mkfs.btrfs -O $features -n $nodesize -s $sectorsize \
+		$image
+	ret=$?
+	if [ $ret == 0 ]; then
+		run_check $TOP/btrfs check $image
+	fi
+	return $ret
+}
+
+# Invalid: Unaligned sectorsize and nodesize
+do_test 8191 8191 && _fail
+
+# Invalid: Aligned sectorsize with unaligned nodesize
+do_test 4k 16385 && _fail
+
+# Invalid: Ungliend sectorsize with aligned nodesize
+do_test 8191 16k && _fail
+
+# Valid: Aligned sectorsize and nodesize
+do_test 4k 16k || _fail
+
+# Invalid: Sectorsize larger than nodesize
+do_test 8k 4k && _fail
+
+# Invalid: too large nodesize
+do_test 16k 128k && _fail
+
+# Valid: large sectorsize
+do_test 64k 64k || _fail