Re: [PATCH v2] zbd: fix sequential write pattern with verify= and max_open_zones=

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

 



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




[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux