On Tue, Nov 15 2016 at 8:08pm -0500, Bart Van Assche <bart.vanassche@xxxxxxxxxxx> wrote: > On 11/15/2016 05:01 PM, Mike Snitzer wrote: > >On Tue, Nov 15 2016 at 7:40pm -0500, > >Bart Van Assche <bart.vanassche@xxxxxxxxxxx> wrote: > >>Are you aware that dm_table_determine_type() sets "all_blk_mq" to > >>false if there are no paths, even if the dm device is in blk-mq > >>mode? > > > >That shouldn't matter. Once the type is established, it is used to > >initialize the DM device's request_queue, the type cannot change across > >different table loads. > > For a single queue dm device, what prevents a user from removing all > single queue paths and to add one or more blk-mq paths? I think this > will cause dm_table_determine_type() to change the table type. A new table is created for every table load (any time a multipath device is loaded into the kernel). The DM core disallows a table with a different type to load. It will be rejected within an error. See dm-ioctl.c:table_load() -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel