[dm-devel] [PATCH 7/7] dm-mpath: Fix a race condition in __multipath_map()
Bart Van Assche
bart.vanassche at sandisk.com
Tue Nov 22 23:47:31 UTC 2016
On 11/21/2016 04:34 PM, Mike Snitzer wrote:
> But you WARN_ON_ONCE(clone && q->mq_ops) will trigger with sq-on-mq.
Hello Mike,
This behavior is indeed triggered by the sq-on-mq test. After having
added the following code in __bind():
if (old_map &&
dm_table_all_blk_mq_devices(old_map) !=
dm_table_all_blk_mq_devices(t))
pr_debug("%s: old all_blk_mq %d <> new all_blk_mq %d\n",
dm_device_name(md),
dm_table_all_blk_mq_devices(old_map),
dm_table_all_blk_mq_devices(t));
I see the following output appear frequently in the kernel log:
dm_mod:__bind: 254:0: old all_blk_mq 1 <> new all_blk_mq 0
Could these all_blk_mq state changes explain that WARN_ON_ONCE(clone &&
q->mq_ops) is triggered in __multipath_map()? Does this mean that the
comment in patch http://marc.info/?l=dm-devel&m=147925314306752 is correct?
Thanks,
Bart.
More information about the dm-devel
mailing list