null_blk: Fix changing the number of hardware queues
authorBart Van Assche <bvanassche@acm.org>
Tue, 10 Mar 2020 04:26:20 +0000 (21:26 -0700)
committerJens Axboe <axboe@kernel.dk>
Tue, 10 Mar 2020 13:09:59 +0000 (07:09 -0600)
commit78b10be23d42e66fc42e52b9ae620f0a6ef5b8c7
tree857307a3b625ba46156900e6c6f32b958fe7b1ad
parentb9853b4d6fb403ccb1d4d82e2d39fc17fc07519c
null_blk: Fix changing the number of hardware queues

Instead of initializing null_blk hardware queues explicitly after the
request queue has been created, provide .init_hctx() and .exit_hctx()
callback functions. The latter functions are not only called during
request queue allocation but also when the number of hardware queues
changes. Allocate nr_cpu_ids queues during initialization to support
increasing the number of hardware queues above the initial hardware
queue count.

This change fixes increasing the number of hardware queues above the
initial number of hardware queues and also keeps nullb->nr_queues in
sync with the number of hardware queues.

Fixes: 45919fbfe1c4 ("null_blk: Enable modifying 'submit_queues' after an instance has been configured")
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Cc: Johannes Thumshirn <jth@kernel.org>
Cc: Hannes Reinecke <hare@suse.com>
Cc: Ming Lei <ming.lei@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/null_blk_main.c