Make multipathd deal better with uninitialized paths
authorBenjamin Marzinski <bmarzins@redhat.com>
Thu, 2 May 2013 21:46:34 +0000 (16:46 -0500)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Mon, 6 May 2013 19:42:12 +0000 (21:42 +0200)
commitdd7e7ee0f05463bd0bb8fa87d5c12eb29e643351
treeb0feae6102cf8f3e5e498627545febb1ad07cafe
parentf6061a41c89cd14371e589b00bc7fa4d614249ab
Make multipathd deal better with uninitialized paths

If multipathd cannot get all the necessary information from a path in
pathinfo, it clears the path's wwid, and adds it to the pathvec without
being initialized.  However, it never tries to reinitialize it later.
This can cause problems at bootup if multipathd is started at around
the same time as some path devices are discovered. multipathd may try
to initalize them in configure() before they are all the way set up.
After the paths are completely set up, multipathd will get a uevent for
them, but it won't try to reinitialize them. This patch adds
reinitialization code to uev_add_path().  Also, since getting the path
uid now just involves reading an attribute set by udev, there's no
reason no to try it for paths that are currently down.

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