On 2020/04/18 2:31, Alexey Dobriyan wrote: > On Fri, Apr 17, 2020 at 08:32:05AM -0600, Jens Axboe wrote: >> I'm not a huge fan of this zbd sprinkling everywhere, but that's not the >> fault of your fix. But I would really prefer if zbd got disentangled >> from the core/hot paths completely, maybe by adding a io engine fn for >> whatever it needs to do. > > I think it should be done at generator level. zonemode=strided/zbd is > really a specialized random generator. Such generator would issue first > write in ZBD mode and read/write in normal mode. > > zbd_adjust_block() is strange. For example "norandommap" in ZBD mode > doesn't guarantee full LBA space coverage even with 1 thread but it > would guarantee it with 1 thread and generator which shuffles zone > numbers once and issues writes with any QD. I do not understand your point here: norandommap does *not* guarantee full block space coverage at all, no matter the zonemode=xxx or no zonemode. For guaranteed full block space coverage, norandommap should not be specified so that fio keeps the history of past accesses, no ? > > But the combinatorial explosion given the number of options scaries me. > And then things will become even more entertaining once QD > 1 zone appends > start to show up! Indeed, zone append will be hard to support if we also want to have --verify working, which is I think mandatory. But we need the kernel interface first. Not there yet. -- Damien Le Moal Western Digital Research