From 324e23b72d35c9c861739d003f712ddace36714f Mon Sep 17 00:00:00 2001 From: Alasdair Kergon Date: Thu, 18 Sep 2008 19:56:50 +0000 Subject: Avoid shuffling remaining mirror images when removing one, retaining primary. --- tools/vgreduce.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'tools/vgreduce.c') diff --git a/tools/vgreduce.c b/tools/vgreduce.c index 5e613824..f2a5e218 100644 --- a/tools/vgreduce.c +++ b/tools/vgreduce.c @@ -250,9 +250,8 @@ static int _make_vg_consistent(struct cmd_context *cmd, struct volume_group *vg) lvl2->lv != seg_lv(mirrored_seg, s)) continue; list_del(&lvl2->list); - area = mirrored_seg->areas[mimages - 1]; - mirrored_seg->areas[mimages - 1] = mirrored_seg->areas[s]; - mirrored_seg->areas[s] = area; + if (!shift_mirror_images(mirrored_seg, s)) + return_0; mimages--; /* FIXME Assumes uniqueness */ } } -- cgit