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.