From fe804dc412d97ff0883d8283478f539fd84de6e2 Mon Sep 17 00:00:00 2001 From: Paul Zuchowski <31706010+PaulZ-98@users.noreply.github.com> Date: Fri, 11 Feb 2022 16:32:08 -0500 Subject: [PATCH] ZTS: Fix problem with zdb_objset_id test Use large numbers for datasets with numeric names to avoid name and id collisions. Sporadic test failures were observed when the test would create $TESTPOOL/100 with an objset ID of 100. Reviewed-by: Brian Behlendorf Signed-off-by: Paul Zuchowski Closes #13087 --- .../functional/cli_root/zdb/zdb_objset_id.ksh | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/tests/zfs-tests/tests/functional/cli_root/zdb/zdb_objset_id.ksh b/tests/zfs-tests/tests/functional/cli_root/zdb/zdb_objset_id.ksh index 27d3d61fb..accb12528 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zdb/zdb_objset_id.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zdb/zdb_objset_id.ksh @@ -54,6 +54,8 @@ write_count=8 blksize=131072 verify_runnable "global" verify_disk_count "$DISKS" 2 +hex_ds=$TESTPOOL/0x400000 +num_ds=$TESTPOOL/100000 default_mirror_setup_noexit $DISKS file_write -o create -w -f $init_data -b $blksize -c $write_count @@ -111,23 +113,23 @@ if is_linux; then "zdb -dddddd $TESTPOOL/$objset_hex failed $reason" fi -log_must zfs create $TESTPOOL/0x400 -log_must zfs create $TESTPOOL/100 -output=$(zdb -d $TESTPOOL/0x400) +log_must zfs create $hex_ds +log_must zfs create $num_ds +output=$(zdb -d $hex_ds) reason="($TESTPOOL/0x400 not in zdb output)" -echo $output |grep "$TESTPOOL/0x400" > /dev/null +echo $output |grep "$hex_ds" > /dev/null (( $? != 0 )) && log_fail \ - "zdb -d $TESTPOOL/0x400 failed $reason" -output=$(zdb -d $TESTPOOL/100) -reason="($TESTPOOL/100 not in zdb output)" -echo $output |grep "$TESTPOOL/100" > /dev/null + "zdb -d $hex_ds failed $reason" +output=$(zdb -d $num_ds) +reason="($num_ds not in zdb output)" +echo $output |grep "$num_ds" > /dev/null (( $? != 0 )) && log_fail \ - "zdb -d $TESTPOOL/100 failed $reason" + "zdb -d $num_ds failed $reason" -# force numeric interpretation, should fail -log_mustnot zdb -N $TESTPOOL/0x400 -log_mustnot zdb -N $TESTPOOL/100 -log_mustnot zdb -Nd $TESTPOOL/0x400 -log_mustnot zdb -Nd $TESTPOOL/100 +# force numeric interpretation, expect fail +log_mustnot zdb -N $hex_ds +log_mustnot zdb -N $num_ds +log_mustnot zdb -Nd $hex_ds +log_mustnot zdb -Nd $num_ds log_pass "zdb -d / generates the correct names."