multipath: handle offlined paths
authorBenjamin Marzinski <bmarzins@redhat.com>
Mon, 17 Oct 2011 21:16:02 +0000 (16:16 -0500)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Mon, 17 Oct 2011 22:06:06 +0000 (00:06 +0200)
commit3641d566526370f9f9a76948c4ad45286220e84a
treec65a51343ab6e8d60244b196625839d9fc8ad2b1
parente0cb40998ea1330e1419da98414270d2e485177a
multipath: handle offlined paths

The kernel does not allow multipath to load tables containing offline
devices. Because of this, if you try add a path to a multipath device with
an offline path, the multipathd will continually, retry and fail to reload
the table. I've limited the retries to three to avoid livelocking.

Also, if you map included a offline path, multipath was crashing because
it couldn't get the required sysfs information before calling get_state().
It now checks for this in multipath, like it does in multipathd

Lastly, multipathd would keep reprinting the last checker message for
offlined paths, instead of something useful. It now prints a "path offline"
message.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
libmultipath/discovery.c
multipathd/main.c