diff options
author | Junichi Nomura <j-nomura@ce.jp.nec.com> | 2015-05-29 08:51:03 +0000 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2015-05-29 13:41:16 -0400 |
commit | 15b94a690470038aa08247eedbebbe7e2218d5ee (patch) | |
tree | e3a715140ed69f9566e5fff834ef2daad742ade7 /drivers/ssb | |
parent | e5d8de32cc02a259e1a237ab57cba00f2930fa6a (diff) | |
download | op-kernel-dev-15b94a690470038aa08247eedbebbe7e2218d5ee.zip op-kernel-dev-15b94a690470038aa08247eedbebbe7e2218d5ee.tar.gz |
dm: fix reload failure of 0 path multipath mapping on blk-mq devices
dm-multipath accepts 0 path mapping.
# echo '0 2097152 multipath 0 0 0 0' | dmsetup create newdev
Such a mapping can be used to release underlying devices while still
holding requests in its queue until working paths come back.
However, once the multipath device is created over blk-mq devices,
it rejects reloading of 0 path mapping:
# echo '0 2097152 multipath 0 0 1 1 queue-length 0 1 1 /dev/sda 1' \
| dmsetup create mpath1
# echo '0 2097152 multipath 0 0 0 0' | dmsetup load mpath1
device-mapper: reload ioctl on mpath1 failed: Invalid argument
Command failed
With following kernel message:
device-mapper: ioctl: can't change device type after initial table load.
DM tries to inherit the current table type using dm_table_set_type()
but it doesn't work as expected because of unnecessary check about
whether the target type is hybrid or not.
Hybrid type is for targets that work as either request-based or bio-based
and not required for blk-mq or non blk-mq checking.
Fixes: 65803c205983 ("dm table: train hybrid target type detection to select blk-mq if appropriate")
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/ssb')
0 files changed, 0 insertions, 0 deletions