]>
Commit | Line | Data |
---|---|---|
289c5516 MT |
1 | --- |
2 | multipathd/cli_handlers.c | 3 ++- | |
3 | multipathd/main.c | 12 ++++++------ | |
4 | 2 files changed, 8 insertions(+), 7 deletions(-) | |
5 | ||
6 | Index: multipath-tools-130222/multipathd/cli_handlers.c | |
7 | =================================================================== | |
8 | --- multipath-tools-130222.orig/multipathd/cli_handlers.c | |
9 | +++ multipath-tools-130222/multipathd/cli_handlers.c | |
10 | @@ -632,7 +632,8 @@ cli_resize(void *v, char **reply, int *l | |
11 | return 1; | |
12 | ||
13 | dm_lib_release(); | |
14 | - setup_multipath(vecs, mpp); | |
15 | + if (setup_multipath(vecs, mpp) != 0) | |
16 | + return 1; | |
17 | sync_map_state(mpp); | |
18 | ||
19 | return 0; | |
20 | Index: multipath-tools-130222/multipathd/main.c | |
21 | =================================================================== | |
22 | --- multipath-tools-130222.orig/multipathd/main.c | |
23 | +++ multipath-tools-130222/multipathd/main.c | |
24 | @@ -134,7 +134,6 @@ coalesce_maps(struct vectors *vecs, vect | |
25 | struct multipath * ompp; | |
26 | vector ompv = vecs->mpvec; | |
27 | unsigned int i; | |
28 | - int j; | |
29 | ||
30 | vector_foreach_slot (ompv, ompp, i) { | |
31 | if (!find_mp_by_wwid(nmpv, ompp->wwid)) { | |
32 | @@ -148,16 +147,17 @@ coalesce_maps(struct vectors *vecs, vect | |
33 | /* | |
34 | * may be just because the device is open | |
35 | */ | |
36 | + if (setup_multipath(vecs, ompp) != 0) { | |
37 | + i--; | |
38 | + continue; | |
39 | + } | |
40 | if (!vector_alloc_slot(nmpv)) | |
41 | return 1; | |
42 | ||
43 | vector_set_slot(nmpv, ompp); | |
44 | - setup_multipath(vecs, ompp); | |
45 | ||
46 | - if ((j = find_slot(ompv, (void *)ompp)) != -1) | |
47 | - vector_del_slot(ompv, j); | |
48 | - | |
49 | - continue; | |
50 | + vector_del_slot(ompv, i); | |
51 | + i--; | |
52 | } | |
53 | else { | |
54 | dm_lib_release(); |