[PATCH v13] NVMe: Convert to blk-mq

Matias Bjørling m at bjorling.me
Tue Sep 30 11:10:21 PDT 2014


On Tue, Sep 30, 2014 at 7:42 PM, Keith Busch <keith.busch at intel.com> wrote:
> On Tue, 30 Sep 2014, Matias Bjørling wrote:
>>
>> @@ -1967,27 +1801,30 @@ static struct nvme_ns *nvme_alloc_ns(struct
>> nvme_dev *dev, unsigned nsid,
>> {
>
> ...
>>
>> -       ns->queue->queue_flags = QUEUE_FLAG_DEFAULT;
>> +       queue_flag_set_unlocked(QUEUE_FLAG_DEFAULT, ns->queue);
>
>
> Instead of the above, you want
>
> +       ns->queue->queue_flags |= QUEUE_FLAG_DEFAULT;
>
> I only caught it because of the fun dm-mpath attempt with nvme and
> blk-mq. Or maybe we don't want to include "QUEUE_FLAG_STACKABLE" right
> now (part of the default flags) because it will kernel crash if you're
> using dm-multipath with a blk-mq driver today.
>

Great find. We should properly add a bunch of patches that add the
necessary support after the patch has gone in. I have a feeling that
there is a lot of interesting corner cases for getting stackable to
work.

> Otherwise, looks great!



More information about the Linux-nvme mailing list