+ bool alloc_srcu;
I found the following statement multiple times in this patch:
WARN_ON_ONCE(q->alloc_srcu != !!(q->tag_set->flags & BLK_MQ_F_BLOCKING));
Does this mean that the new q->alloc_srcu member variable can be left out
and that it can be replaced with the following test?
q->tag_set->flags & BLK_MQ_F_BLOCKING
q->tag_set can't be used anymore after blk_cleanup_queue() returns,
and we need the flag for freeing request_queue instance.
Why not just look at the queue->srcu pointer? it is allocated only
for BLK_MQ_F_BLOCKING no?