1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-22 17:35:59 +03:00
lvm2/lib
Jonathan Earl Brassow d3582e0252 Add the ability to convert linear LVs to RAID1
Example:
~> lvconvert --type raid1 -m 1 vg/lv

The following steps are performed to convert linear to RAID1:
1) Allocate a metadata device from the same PV as the linear device
   to provide the metadata/data LV pair required for all RAID components.
2) Allocate the required number of metadata/data LV pairs for the
   remaining additional images.
3) Clear the metadata LVs.  This performs a LVM metadata update.
4) Create the top-level RAID LV and add the component devices.

We want to make any failure easy to unwind.  This is why we don't create the
top-level LV and add the components until the last step.  Should anything
happen before that, the user could simply remove the unnecessary images.  Also,
we want to ensure that the metadata LVs are cleared before forming the array to
prevent stale information from polluting the new array.

A new macro 'seg_is_linear' was added to allow us to distinguish linear LVs
from striped LVs.
2011-10-07 14:52:26 +00:00
..
activate Fix splitmirror in cluster having different DM/LVM views of storage. 2011-10-06 14:55:39 +00:00
cache Use size_t return type 2011-09-01 10:25:22 +00:00
commands Add activation/retry_deactivation to lvm.conf to retry deactivation of an LV. 2011-09-22 17:39:56 +00:00
config Add activation/retry_deactivation to lvm.conf to retry deactivation of an LV. 2011-09-22 17:39:56 +00:00
datastruct Revert the #include changes. Need to fix this at the #include site for now, and 2011-07-18 14:34:33 +00:00
device Move the core of the lib/config/config.c functionality into libdevmapper, 2011-08-30 14:55:15 +00:00
display Use capital letters 2011-10-04 12:39:59 +00:00
error Add lv_activate_opts structure 2011-06-17 14:14:19 +00:00
filters Move the core of the lib/config/config.c functionality into libdevmapper, 2011-08-30 14:55:15 +00:00
format1 lvcreate parsing for thin provisioning. 2011-09-06 00:26:42 +00:00
format_pool lvcreate parsing for thin provisioning. 2011-09-06 00:26:42 +00:00
format_text lvcreate/remove thin_pool and thin volumes (--driverloaded n only) 2011-09-08 16:41:18 +00:00
freeseg Replace malloc with zalloc when creating segment_type's 2011-03-25 21:59:42 +00:00
label Report sector containing label in verbose message. 2011-06-01 15:30:36 +00:00
locking Introduce revert_lv for better pvmove cleanup. 2011-09-27 22:43:40 +00:00
log Trivial, add void to ignore dm_snprinf result 2011-08-11 19:21:42 +00:00
metadata Add the ability to convert linear LVs to RAID1 2011-10-07 14:52:26 +00:00
mirror Replace const usage of dm_config_find_node with more appropriate value-lookup 2011-08-31 15:19:19 +00:00
misc Add activation/retry_deactivation to lvm.conf to retry deactivation of an LV. 2011-09-22 17:39:56 +00:00
mm Move the core of the lib/config/config.c functionality into libdevmapper, 2011-08-30 14:55:15 +00:00
raid Fix log_error() usage 2011-09-24 21:19:30 +00:00
replicator Move the core of the lib/config/config.c functionality into libdevmapper, 2011-08-30 14:55:15 +00:00
report correct thin_pool width 2011-09-27 12:33:36 +00:00
snapshot Move the core of the lib/config/config.c functionality into libdevmapper, 2011-08-30 14:55:15 +00:00
striped Replace const usage of dm_config_find_node with more appropriate value-lookup 2011-08-31 15:19:19 +00:00
thin Add more validation to config parser 2011-10-06 11:06:36 +00:00
unknown Fix log_error() usage 2011-09-24 21:19:30 +00:00
uuid Revert the #include changes. Need to fix this at the #include site for now, and 2011-07-18 14:34:33 +00:00
zero Add lv_activate_opts structure 2011-06-17 14:14:19 +00:00
Makefile.in add thin_manip.c like the other manip files 2011-09-06 19:25:42 +00:00