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. 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!