dm table: allow upgrade from bio-based to specialized bio-based variant
authorMike Snitzer <snitzer@redhat.com>
Mon, 5 Mar 2018 20:26:06 +0000 (15:26 -0500)
committerMike Snitzer <snitzer@redhat.com>
Wed, 7 Mar 2018 01:23:58 +0000 (20:23 -0500)
commitc934edadcc7a64e399942ae34b912939057a77a7
tree453057ad3ed4bdfa5fc706332695707e2d96c7f5
parent8d47e65948ddea4398892946d9e50778a316b397
dm table: allow upgrade from bio-based to specialized bio-based variant

In practice this is really only meaningful in the context of the DM
multipath target (which uses dm_table_set_type() to set the type of
device DM should create via its "queue_mode" option).

So this change allows a DM multipath device with "queue_mode bio" to be
upgraded from DM_TYPE_BIO_BASED to DM_TYPE_NVME_BIO_BASED -- iff the
underlying device(s) are NVMe.

DM_TYPE_NVME_BIO_BASED is just a DM core implementation detail that
allows for NVMe-specific optimizations (e.g. use direct_make_request
instead of generic_make_request).  If in the future there is no benefit
or need to distinguish NVMe vs not: then it will be removed.

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-table.c