• Niklas Cassel's avatar
    null_blk: add support for max open/active zone limit for zoned devices · dc4d137e
    Niklas Cassel authored
    Add support for user space to set a max open zone and a max active zone
    limit via configfs. By default, the default values are 0 == no limit.
    
    Call the block layer API functions used for exposing the configured
    limits to sysfs.
    
    Add accounting in null_blk_zoned so that these new limits are respected.
    Performing an operation that would exceed these limits results in a
    standard I/O error.
    
    A max open zone limit exists in the ZBC standard.
    While null_blk_zoned is used to test the Zoned Block Device model in
    Linux, when it comes to differences between ZBC and ZNS, null_blk_zoned
    mostly follows ZBC.
    
    Therefore, implement the manage open zone resources function from ZBC,
    but additionally add support for max active zones.
    This enables user space not only to test against a device with an open
    zone limit, but also to test against a device with an active zone limit.
    Signed-off-by: default avatarNiklas Cassel <niklas.cassel@wdc.com>
    Reviewed-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
    Reviewed-by: default avatarJohannes Thumshirn <johannes.thumshirn@wdc.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    dc4d137e
null_blk_zoned.c 12.6 KB