[lvm-devel] [PATCH] Fix removal of multiple devices from a mirror.
Jonathan Brassow
jbrassow at redhat.com
Thu Dec 17 14:50:31 UTC 2009
Is this problem still present after applying the previous patch:
https://www.redhat.com/archives/lvm-devel/2009-November/msg00043.html
The above patch was posted to fix a problem with specified PVs not
being handled properly.
brassow
On Dec 17, 2009, at 7:51 AM, Petr Rockai wrote:
> Hi,
>
> the code for removing mirror images, as it is, shifts the first failed
> leg twice and fails to shift the second failed one at all, which
> reorders the mirror image array in such a way that a wrong leg is
> removed as a result.
>
> The trivial patch below fixes that behaviour by adjusting the array
> pointer to accommodate for the shift. Fixes RHBZ 543225.
>
> Yours,
> Petr.
>
> Index: lib/metadata/mirror.c
> ===================================================================
> RCS file: /cvs/lvm2/LVM2/lib/metadata/mirror.c,v
> retrieving revision 1.99
> diff -u -p -r1.99 mirror.c
> --- lib/metadata/mirror.c 9 Dec 2009 19:53:39 -0000 1.99
> +++ lib/metadata/mirror.c 17 Dec 2009 13:43:30 -0000
> @@ -533,6 +533,7 @@ static int _remove_mirror_images(struct
> _is_mirror_image_removable(sub_lv, removable_pvs)) {
> if (!shift_mirror_images(mirrored_seg, s))
> return_0;
> + s--; /* adjust counter after shifting */
> new_area_count--;
> }
> }
>
> --
> lvm-devel mailing list
> lvm-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/lvm-devel
More information about the lvm-devel
mailing list