summaryrefslogtreecommitdiffstats
path: root/lib/metadata/mirror.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/metadata/mirror.c')
-rw-r--r--lib/metadata/mirror.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/metadata/mirror.c b/lib/metadata/mirror.c
index 236edea2..d943175e 100644
--- a/lib/metadata/mirror.c
+++ b/lib/metadata/mirror.c
@@ -645,8 +645,8 @@ static int _split_mirror_images(struct logical_volume *lv,
sub_lv = seg_lv(mirrored_seg, mirrored_seg->area_count);
sub_lv->status &= ~MIRROR_IMAGE;
- release_lv_segment_area(mirrored_seg, mirrored_seg->area_count,
- mirrored_seg->area_len);
+ if (!release_lv_segment_area(mirrored_seg, mirrored_seg->area_count, mirrored_seg->area_len))
+ return_0;
log_very_verbose("%s assigned to be split", sub_lv->name);
@@ -906,7 +906,8 @@ static int _remove_mirror_images(struct logical_volume *lv,
}
lvl->lv = seg_lv(mirrored_seg, m);
dm_list_add(&tmp_orphan_lvs, &lvl->list);
- release_lv_segment_area(mirrored_seg, m, mirrored_seg->area_len);
+ if (!release_lv_segment_area(mirrored_seg, m, mirrored_seg->area_len))
+ return_0;
}
mirrored_seg->area_count = new_area_count;
@@ -1468,7 +1469,8 @@ int remove_mirrors_from_segments(struct logical_volume *lv,
}
for (s = new_mirrors + 1; s < seg->area_count; s++)
- release_lv_segment_area(seg, s, seg->area_len);
+ if (!release_lv_segment_area(seg, s, seg->area_len))
+ return_0;
seg->area_count = new_mirrors + 1;