On 07/20/2016 11:33 AM, Mike Snitzer wrote:
Would be interesting to know the error returned from map_request()'s
ti->type->clone_and_map_rq(). Really should just be DM_MAPIO_REQUEUE.
But the stack you've provided shows map_request calling
dm_complete_request(), which implies dm_kill_unmapped_request() is being
called due to ti->type->clone_and_map_rq() returning < 0.
Hello Mike,
Apparently certain requests fail with -EIO because DM_DEV_SUSPEND ioctls
are being submitted to the same multipath target. As you know
DM_DEV_SUSPEND changes QUEUE_IF_NO_PATH from 1 into 0. A WARN_ON()
statement that I added in driver dm-mpath statement learned me that
multipathd is submitting these DM_DEV_SUSPEND ioctls. In the output of
strace -fp$(pidof multipathd) I found the following:
[pid 13927] ioctl(5, DM_TABLE_STATUS, 0x7fa1000483f0) = 0
[pid 13927] write(1, "mpathbe: failed to setup multipa"..., 35) = 35
[pid 13927] write(1, "dm-0: uev_add_map failed\n", 25) = 25
[pid 13927] write(1, "uevent trigger error\n", 21) = 21
[pid 13927] write(1, "sdh: remove path (uevent)\n", 26) = 26
[pid 13927] ioctl(5, DM_TABLE_LOAD, 0x7fa1000483f0) = 0
[pid 13927] ioctl(5, DM_DEV_SUSPEND, 0x7fa1000483f0) = 0
I'm still analyzing these and other messages.
Bart.
--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel