On Wed, Feb 14, 2024 at 10:25:57AM -0700, Keith Busch wrote: > On Wed, Feb 14, 2024 at 10:54:57AM +0100, Christoph Hellwig wrote: > > @@ -2036,11 +1813,15 @@ static int null_validate_conf(struct nullb_device *dev) > > pr_err("legacy IO path is no longer available\n"); > > return -EINVAL; > > } > > + if (dev->queue_mode == NULL_Q_BIO) { > > + pr_err("BIO-based IO path is no longer available, using blk-mq instead.\n"); > > + dev->queue_mode = NULL_Q_MQ; > > + } > > Seems pointless to keep dev->queue_mode around if only one value is > valid. > > Instead of checking the param here once per device, could we do it just > once for the module in null_set_queue_mode()? Maybe. Note that the code would have to be quite a bit more complex than this - not only due to configfs as noted by Damien, but also because NULL_Q_BIO isn't rejected but simply ignored to not break blktests. I can look at this at parsing time, but my gut feeling is that it's not worth the effort.