[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