[dm-devel] [BUG REPORT] multipath-tools: -EIO even if no_path_retry is set

Kiyoshi Ueda k-ueda at ct.jp.nec.com
Tue Jun 23 02:55:44 UTC 2009


Hi,

I found a bug below in multipath-tools.
I don't have a patch but just report it for now.

Problem
-------
Application receives -EIO even if 'no_path_retry = queue' is set,
when all paths are down and deleted nearly simultaneously.


Why does it happen?
-------------------
When 'no_path_retry = queue' is set in multipath.conf,
multipathd will do the following on table (re)load:
  1. load the table *without* 'queue_if_no_path'
  2. resume the table
  3. send a message to the dm device to set 'queue_if_no_path'

So there is a small window inbetween the step 2 and step 3 where
failed I/O is not queued.


How should it be fixed?
-----------------------
If 'no_path_retry' is set, multipathd puts 'queue_if_no_path'
in 'features' field of the table which is loaded.


Workaround
----------
Use 'features = "1 queue_if_no_path"' together with 'no_path_retry'
in multipath.conf.

Thanks,
Kiyoshi Ueda




More information about the dm-devel mailing list