On 10/19/18 2:42 AM, Linus Walleij wrote: > On Wed, Oct 17, 2018 at 4:59 PM Bryan Gurney <bgurney@xxxxxxxxxx> wrote: > >> I feel strongly about the prevention of users running into errors >> because of an incorrect scheduler default, because I encountered that >> situation three times in my testing with zoned block devices. The >> switch to SCSI_MQ would resolve that, since mq-deadline is the >> default, but in my case, I was using Fedora 28, which disables >> CONFIG_SCSI_MQ_DEFAULT (which is enabled in the 4.18 kernel), so my >> default scheduler was cfq. > > I think we should make a patch to the kernel that makes it > impossible (even from sysfs) to choose a non-zone aware > scheduler for these devices. > > It's another topic than $SUBJECT patch though. I take this > into account in this version. Yes I agree, and I'd be happy to take such a patch. The only matching we do now is mq-sched for mq-device, and vice versa. And that will be going away in 4.21, when there are no more !mq devices that use scheduling. If your device is zoned, then you should not be able to switch to a scheduler that doesn't have support for that. The right approach here would be to add a capability flag to the IO schedulers. -- Jens Axboe