[lvm-devel] [PATCH pvmove 0/6] Refactoring pvmove with generic APIs
Jun'ichi Nomura
j-nomura at ce.jp.nec.com
Thu Dec 6 16:40:15 UTC 2007
Hi,
This patchset is a follow up to the previous post:
https://www.redhat.com/archives/lvm-devel/2007-November/msg00034.html
This version introduces 3 APIs and let pvmove use them:
- insert_layer_for_segments_on_pv()
Insert a layer (a linear lv segment) below each lv segment
of the LV, only when the segment is on a specified PV.
- convert_segments_mirrored()
Convert each segment in the LV to mirrored.
- split_parent_segments()
For a given layer LV, walk through LVs in the VG and split
any LV segment whose underlying layer segment is splitted.
I'm trying to add functionality for lvconvert, i.e. mirroring
as a whole LV, not segment by segment.
However, it involves moving some codes from toollib to lib and
I think further discussion may be necessary.
And anyway they will be an addition to this patchset.
So I'm posting this set first as they are stable and easy to review.
[1/6] add insert_layer_for_segments_on_pv()
[2/6] add convert_segments_mirrored()
[3/6] add split_parent_segments()
[4/6] change pvmove to use the generalized APIs
[5/6] remove unused mirrored_pv/mirrored_pe params from internal code
[6/6] remove unused can_split param from allocate_extents()
[Appendix] pvmove test script for 'make check'
Thanks,
--
Jun'ichi Nomura, NEC Corporation of America
More information about the lvm-devel
mailing list