On 4/13/20 12:51 PM, Alexey Dobriyan wrote: > Sequential write with max_open_zones=1 has interesting (read: buggy) > interaction with verify=. > > If verify is off, then job runs correctly and IO is sequential, > and restarted from offset 0 and remains sequential. > > If verify is on, then 1 full run is done and verified correctly. > At this point there is exactly 1 open zone which is the last zone. > > Now IO restarts from offset 0 and pick_random_zone() picks opened zone > #0 which is the last zone because offset is 0. All IO is redirected > to the last zone, which is rewritten once triggering verify again. > > IO pattern becomes: 1 full sequential rewrite followed by constant > sequential rewrites of the last zone. > > > [global] > filename=/dev/loop0 > direct=1 > zonemode=zbd > zonesize=1M > bs=512K > rw=write > verify=xxhash > [j] > max_open_zones=1 > io_size=3G > > Fix is to close every zone given that verification acts as a barrier > between jobs. > > max_open_zones=2 can restart from half of the device, etc. Applied, thanks. -- Jens Axboe