Re: [PATCH] tests: btrfs/237: skip test on devices with conventional zones

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



On 12.07.25 15:53, Anand Jain wrote:
>> +$BLKZONE_PROG report $SCRATCH_DEV | grep -q -e "nw" && \
>> +	_notrun "test is unreliable on devices with conventional zones"
>> +
>>    sdev="$(_short_dev $SCRATCH_DEV)"
>>    zone_size=$(($(cat /sys/block/${sdev}/queue/chunk_sectors) << 9))
>>    fssize=$((zone_size * 16))
> 
> Johannes,
> 
> The test case still fails on a zone device with no conventional zones.
> However, if we use tail -1, it works fine—with or without a
> conventional zone.
> 

But if the data is placed in a conventional zone and we recalim it, the 
write pointer will not be reset (as there is none) and you'll still see:

-Silence is golden
+Old wptr still at 0x073338

> $ modprobe scsi_debug zbc=host-managed zone_size_mb=256 zone_cap_mb=256
> zone_nr_conv=0 dev_size_mb=4096 num_tgts=2
> 
> $ ./check btrfs/237
> ::
> btrfs/237 5s ... [failed, exit status 1]- output mismatch (see
> /Volumes/work/ws/fstests/results//btrfs/237.out.bad)
>       --- tests/btrfs/237.out	2025-07-01 17:41:30.943699725 +0800
>       +++ /Volumes/work/ws/fstests/results//btrfs/237.out.bad	2025-07-12
> 21:39:03.756275219 +0800
>       @@ -1,2 +1,3 @@
>        QA output created by 237
>       -Silence is golden
>       +Old wptr still at 0x073338
>       +(see /Volumes/work/ws/fstests/results//btrfs/237.full for details)
> 
> 
> Following diff fixes the issue.
> 
> -----
> index 2839f6e42797..7f460c1415bc 100755
> --- a/tests/btrfs/237
> +++ b/tests/btrfs/237
> @@ -28,7 +28,8 @@ get_data_bg()
>    {
>           $BTRFS_UTIL_PROG inspect-internal dump-tree -t CHUNK
> $SCRATCH_DEV |\
>                   grep -A 1 "CHUNK_ITEM" | grep -B 1 "type DATA" |\
> -               grep -Eo "CHUNK_ITEM [[:digit:]]+" | cut -d ' ' -f 2
> +               grep -Eo "CHUNK_ITEM [[:digit:]]+" | cut -d ' ' -f 2 |\
> +               tail -1
>    }
> 
>    get_data_bg_physical()
> @@ -36,7 +37,8 @@ get_data_bg_physical()
>           # Assumes SINGLE data profile
>           $BTRFS_UTIL_PROG inspect-internal dump-tree -t CHUNK
> $SCRATCH_DEV |\
>                   grep -A 4 CHUNK_ITEM | grep -A 3 'type DATA\|SINGLE' |\
> -               grep -Eo 'offset [[:digit:]]+'| cut -d ' ' -f 2
> +               grep -Eo 'offset [[:digit:]]+'| cut -d ' ' -f 2 |\
> +               tail -1
>    }

Oh OK, then tail vs head it is. Still there shouldn't be more than one, 
IMHO.




[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux