When the daemon is started prior to udev the paths are not present (yet). However, the maps themselves will be read from device-mapper. This causes existing maps to be dropped in coalesce_maps(), only to be reinstated later when all paths are discovered. To avoid this we should be checking for a valid hardware entry per multipath map; if there is none we're in startup and shouldn't drop any maps. Signed-off-by: Hannes Reinecke <hare@xxxxxxxx> --- multipathd/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multipathd/main.c b/multipathd/main.c index 1141fb6..33a3503 100644 --- a/multipathd/main.c +++ b/multipathd/main.c @@ -155,7 +155,7 @@ coalesce_maps(struct vectors *vecs, vector nmpv) vector_foreach_slot (ompv, ompp, i) { condlog(3, "%s: coalesce map", ompp->alias); - if (!find_mp_by_wwid(nmpv, ompp->wwid)) { + if (ompp->hwe && !find_mp_by_wwid(nmpv, ompp->wwid)) { /* * remove all current maps not allowed by the * current configuration -- 2.6.6 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel