On 5/21/21 7:39 AM, Niklas Cassel wrote: > From: Niklas Cassel <niklas.cassel@xxxxxxx> > > In commit d2f442bc0bd5 ("ioengines: add get_max_open_zones zoned block > device operation") we added a check that verifies that the specified > --max_open_zones value is lower than the max value reported by the device. > > For ZNS devices there is a max open zones and a max active zones limit. > For ZAC/ZBC devices there is only a max open zones limit. > > On ZAC/ZBC, there is thus no limit on the amount of zones that can be > in zone state closed. > When doing a write to an empty or closed zone, a ZAC/ZBC drive will > close an arbitrary implicit open zone in order in order to handle the > write. > > The ZNS specification has no requirement on closing a zone in order to > handle a write to an empty or closed zone. The drive is free to return > an error. > > Even on ZAC/ZBC, you do not want to exceed the max open zones limit, > since it will lead to additional implicit close zone and implicit open > zone operations, which will degrade performance. > However, it seems that this is sometimes done on purpose, in order to > measure the overhead of these additional operations. Therefore, add > an option that allows the user to ignore the reported device limits. This is missing the thread_options_pack and cconv addition for the option, which would then also need a server version increment as well. -- Jens Axboe