Refactoring pvmove with generic APIs (rev. 3)
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest9 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/9 | Add insert_layer_for_segments_on_pv() | +0 | 0 replies | |
| 2/9 | Add add_mirrors_to_segments() | +0 | 0 replies | |
| 3/9 | Add split_parent_segments_for_layer() | +0 | 0 replies | |
| 4/9 | Change pvmove to use the generalized APIs | +0 | 0 replies | |
| 5/9 | Remove unused mirrored_pv/mirrored_pe params from internal code | +0 | 0 replies | |
| 6/9 | Remove unused can_split param from allocate_extents() | +0 | 0 replies | |
| 7/9 | Add remove_mirrors_from_segments() and remove_layer_from_segments() | +0 | 0 replies | |
| 8/9 | Change pvmove to use the generalized mirror-removal APIs | +0 | 0 replies | |
| 9/9 | Remove unused remove_pvmove_mirrors() | +0 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH pvmove 0/9] Refactoring pvmove with generic APIs (rev. 3)
Hi,
This patchset is a follow up to the previous posts:
https://www.redhat.com/archives/lvm-devel/2007-November/msg00034.html
https://www.redhat.com/archives/lvm-devel/2007-December/msg00010.html
I found that I didn't generalize the removal-side of pvmove code. This version adds generic APIs for removing mirrors and layers for segment-by-segment mirroring.
So we have:
- 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.
- remove_layer_for_segments_all()
Remove the layer from all LVs
- split_parent_segments_for_layer()
For a given layer LV, walk through LVs in the VG and split any LV segment whose underlying layer segment is splitted.
- add_mirrors_to_segments()
- remove_mirrors_from_segments()
Add mirrors to each segment of the LV
I'll follow up this patchset with generic APIs for lvconvert-type mirroring, i.e. mirroring as a whole LV.
The 7th to 9th patches are newly added.
Other patches are slightly modified to cope with the name changes and also for better comments, error messages and generalization. It might be better to move new ones to earlier part and change pvmove at once. But I kept the ordering for ease of the reviews. Changes are mentioned in the header of each patch.
[1/9] add insert_layer_for_segments_on_pv()
[2/9] add add_mirrors_to_segments()
[3/9] add split_parent_segments_for_layer()
[4/9] change pvmove to use the generalized APIs
[5/9] remove unused mirrored_pv/mirrored_pe params from internal code [6/9] remove unused can_split param from allocate_extents() [7/9] add remove_mirrors_from_segments() and remove_layer_from_segments() [8/9] change pvmove to use the generalized removal APIs
[9/9] remove unused remove_pvmove_mirrors() function [Appendix] pvmove test script for 'make check'
Thanks,
Signature · 1 line
Jun'ichi Nomura, NEC Corporation of America