1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-22 17:35:59 +03:00
lvm2/lib
Jonathan Brassow b35fb0b15a raid/misc: Allow creation of parallel areas by LV vs segment
I've changed build_parallel_areas_from_lv to take a new parameter
that allows the caller to build parallel areas by LV vs by segment.
Previously, the function created a list of parallel areas for each
segment in the given LV.  When it came time for allocation, the
parallel areas were honored on a segment basis.  This was problematic
for RAID because any new RAID image must avoid being placed on any
PVs used by other images in the RAID.  For example, if we have a
linear LV that has half its space on one PV and half on another, we
do not want an up-convert to use either of those PVs.  It should
especially not wind up with the following, where the first portion
of one LV is paired up with the second portion of the other:
------PV1-------  ------PV2-------
[ 2of2 image_1 ]  [ 1of2 image_1 ]
[ 1of2 image_0 ]  [ 2of2 image_0 ]
----------------  ----------------
Previously, it was possible for this to happen.  The change makes
it so that the returned parallel areas list contains one "super"
segment (seg_pvs) with a list of all the PVs from every actual
segment in the given LV and covering the entire logical extent range.

This change allows RAID conversions to function properly when there
are existing images that contain multiple segments that span more
than one PV.
2014-06-25 21:20:41 -05:00
..
activate report: select: refactor: move percent handling code to libdm for reuse 2014-06-17 16:27:21 +02:00
cache report: select: refactor: move str_list to libdm 2014-06-17 16:27:20 +02:00
cache_segtype cleanup: modules_needed only for devmapper 2014-04-30 10:26:30 +02:00
commands coverity: fix issues reported by coverity 2014-06-24 14:58:53 +02:00
config coverity: fix issues reported by coverity 2014-06-24 14:58:53 +02:00
datastruct report: select: refactor: move str_list to libdm 2014-06-17 16:27:20 +02:00
device report: select: refactor: move str_list to libdm 2014-06-17 16:27:20 +02:00
display report: select: refactor: move percent handling code to libdm for reuse 2014-06-17 16:27:21 +02:00
error cleanup: modules_needed only for devmapper 2014-04-30 10:26:30 +02:00
filters report: select: refactor: move str_list to libdm 2014-06-17 16:27:20 +02:00
format1 report: select: refactor: move str_list to libdm 2014-06-17 16:27:20 +02:00
format_pool pvscan: use format feature flags in lvmetad code 2014-01-08 02:13:13 +00:00
format_text report: select: refactor: move str_list to libdm 2014-06-17 16:27:20 +02:00
freeseg cleanup: drop unneeded included header files 2012-08-23 14:37:20 +02:00
label cleanup: remove unneeded header files 2014-02-11 19:00:06 +01:00
locking locking: fix cluster locking 2014-06-20 16:38:48 +01:00
log report: select: refactor: move str_list to libdm 2014-06-17 16:27:20 +02:00
metadata raid/misc: Allow creation of parallel areas by LV vs segment 2014-06-25 21:20:41 -05:00
mirror report: select: refactor: move percent handling code to libdm for reuse 2014-06-17 16:27:21 +02:00
misc report: select: refactor: move percent handling code to libdm for reuse 2014-06-17 16:27:21 +02:00
mm memlock: skip more entries 2014-06-20 11:13:41 +02:00
properties prop: update FIELD macro to accomodate the differentiation of number, size and percent field values 2014-06-17 18:14:57 +02:00
raid report: select: refactor: move percent handling code to libdm for reuse 2014-06-17 16:27:21 +02:00
replicator compilation: fix warnings: build_dm_uuid now accepts whole struct logical_volume, not lvid 2014-06-18 14:43:13 +02:00
report prop: update FIELD macro to accomodate the differentiation of number, size and percent field values 2014-06-17 18:14:57 +02:00
snapshot report: select: refactor: move percent handling code to libdm for reuse 2014-06-17 16:27:21 +02:00
striped Add activation/use_linear_target enabled by default. (prajnoha) 2011-11-28 20:37:51 +00:00
thin report: select: refactor: move percent handling code to libdm for reuse 2014-06-17 16:27:21 +02:00
unknown unknown: add_target_line is not needed 2014-04-30 10:26:30 +02:00
uuid cleanup: drop unused define 2014-03-12 19:12:34 +01:00
zero cleanup: modules_needed only for devmapper 2014-04-30 10:26:30 +02:00
Makefile.in locking: Separate out flock and signal code. 2014-05-01 17:37:14 +01:00