summaryrefslogtreecommitdiff
path: root/multipathd/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'multipathd/main.c')
-rw-r--r--multipathd/main.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/multipathd/main.c b/multipathd/main.c
index ca26ae8..73b06cb 100644
--- a/multipathd/main.c
+++ b/multipathd/main.c
@@ -398,16 +398,21 @@ ev_add_path (char * devname, struct vectors * vecs)
mpp = pp->mpp = find_mp_by_wwid(vecs->mpvec, pp->wwid);
rescan:
if (mpp) {
- if ((!pp->size) || (mpp->size != pp->size)) {
+ if ((!pp->size) || (mpp->size != pp->size)) {
+ if (!pp->size)
+ condlog(0, "%s: failed to add new path %s, "
+ "device size is 0",
+ devname, pp->dev);
+ else
condlog(0, "%s: failed to add new path %s, "
"device size mismatch",
devname, pp->dev);
- int i = find_slot(vecs->pathvec, (void *)pp);
- if (i != -1)
- vector_del_slot(vecs->pathvec, i);
- free_path(pp);
- return 1;
- }
+ int i = find_slot(vecs->pathvec, (void *)pp);
+ if (i != -1)
+ vector_del_slot(vecs->pathvec, i);
+ free_path(pp);
+ return 1;
+ }
condlog(4,"%s: adopting all paths for path %s",
mpp->alias, pp->dev);