On 2/5/24 14:11, Christoph Hellwig wrote: > On Mon, Feb 05, 2024 at 11:41:04AM +0900, Damien Le Moal wrote: >>> I think only queue re-configuration(blk_revalidate_zone) requires the >>> queue usage counter. Otherwise, bdev open()/close() should work just >>> fine. >> >> I want to check FS case though. No clear if mounting FS that supports zone >> (btrfs) also uses bdev open ? > > Every file system opens the block device. But we don't just need the > block device to be open, but we also need the block limits to not > change, and the only way to do that is to hold a q_usage_counter > reference. OK. So I think that Hannes'idea to get/put the queue usage counter reference based on a zone BIO plug becoming not empty (get ref) and becoming empty (put ref) may be simpler then. And that would also work in the same way for blk-mq and BIO based drivers. -- Damien Le Moal Western Digital Research