Fix problem with zdb_objset_id test.

Use large numbers for datasets with
numeric names to avoid name and id
collisions.

Signed-off-by: Paul Zuchowski <pzuchowski@datto.com>
This commit is contained in:
Paul Zuchowski 2022-08-09 13:54:17 +00:00 committed by Brian Behlendorf
parent e0dbab1a14
commit db5fd16f0b
1 changed files with 14 additions and 13 deletions

View File

@ -54,6 +54,8 @@ write_count=8
blksize=131072 blksize=131072
verify_runnable "global" verify_runnable "global"
verify_disk_count "$DISKS" 2 verify_disk_count "$DISKS" 2
hex_ds=$TESTPOOL/0x400000
num_ds=$TESTPOOL/100000
default_mirror_setup_noexit $DISKS default_mirror_setup_noexit $DISKS
file_write -o create -w -f $init_data -b $blksize -c $write_count file_write -o create -w -f $init_data -b $blksize -c $write_count
@ -111,23 +113,22 @@ if is_linux; then
"zdb -dddddd $TESTPOOL/$objset_hex failed $reason" "zdb -dddddd $TESTPOOL/$objset_hex failed $reason"
fi fi
log_must zfs create $TESTPOOL/0x400 log_must zfs create $hex_ds
log_must zfs create $TESTPOOL/100 log_must zfs create $num_ds
output=$(zdb -d $TESTPOOL/0x400) output=$(zdb -d $hex_ds)
reason="($TESTPOOL/0x400 not in zdb output)" reason="($TESTPOOL/0x400 not in zdb output)"
echo $output |grep "$TESTPOOL/0x400" > /dev/null echo $output |grep "$hex_ds" > /dev/null
(( $? != 0 )) && log_fail \ (( $? != 0 )) && log_fail \
"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
"zdb -d $TESTPOOL/0x400 failed $reason" "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
(( $? != 0 )) && log_fail \
"zdb -d $TESTPOOL/100 failed $reason"
# force numeric interpretation, should fail # force numeric interpretation, should fail
log_mustnot zdb -N $TESTPOOL/0x400 log_mustnot zdb -N $hex_ds
log_mustnot zdb -N $TESTPOOL/100 log_mustnot zdb -N $num_ds
log_mustnot zdb -Nd $TESTPOOL/0x400 log_mustnot zdb -Nd $hex_ds
log_mustnot zdb -Nd $TESTPOOL/100 log_mustnot zdb -Nd $num_ds
log_pass "zdb -d <pool>/<objset ID> generates the correct names." log_pass "zdb -d <pool>/<objset ID> generates the correct names."