That would mean that I need to open-code the tagset iteration in nvme
which does not feel like something a driver should do.
How about renaming blk_mq_reinit_tagset() into blk_mq_tagset_iter() and
to make the argument list of blk_mq_tagset_iter() more similar to that of
blk_mq_queue_tag_busy_iter() such that callers of blk_mq_tagset_iter()
can pass a pointer to any structure through the @priv argument? That would
make this function more general and maybe also more useful to other block
drivers.
We could do that. But it feels like trying to go head over heals just to
keep a change titled:
"blk-mq: Make blk_mq_reinit_tagset() calls easier to read"
Which I'm not exactly sure I share the motivation. Also, I kinda liked
the symmetry of init/exit/reinit_request calling convention.
But, if you absolutely think its necessary to keep the change, we can
add an "all tags" iterator and use that to implement reinit_request in
nvme.
Christoph? Jens? verdict before we go forward here?