1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-09 01:18:39 +03:00
lvm2/lib/metadata
Alasdair G Kergon b93b85378d alloc: Fix lvextend failure when varying stripes.
A segfault was reported when extending an LV with a smaller number of
stripes than originally used.  Under unusual circumstances, the cling
detection code could successfully find a match against the excess
stripe positions and think it had finished prematurely leading to an
allocation being pursued with a length of zero.

Rename ix_offset to num_positional_areas and move it to struct
alloc_state so that _is_condition() can obtain access to it.

In _is_condition(), areas_size can no longer be assumed to match the
number of positional slots being filled so check this newly-exposed
num_positional_areas directly instead.  If the slot is outside the
range we are trying to fill, just ignore the match for now.

(Also note that the code still only performs cling detection against
the first segment of the LV.)
2015-07-15 23:12:54 +01:00
..
cache_manip.c cache: handle policy_name separately 2015-07-15 13:10:22 +02:00
lv_alloc.h thin: simplify thin volume creation 2014-10-26 18:37:13 +01:00
lv_manip.c alloc: Fix lvextend failure when varying stripes. 2015-07-15 23:12:54 +01:00
lv.c macros: Wrap PRI with FMT. 2015-07-06 15:09:17 +01:00
lv.h Add lvmlockd 2015-07-02 15:42:26 -05:00
merge.c cleanup: drop duplicated seg test 2015-07-15 13:10:22 +02:00
metadata-exported.h cache: handle policy_name separately 2015-07-15 13:10:22 +02:00
metadata.c metadata: change function name to _allow_extra_system_id 2015-07-14 14:43:16 -05:00
metadata.h thin: check for overprovisioning 2015-07-03 16:13:14 +02:00
mirror.c macros: Wrap PRI with FMT. 2015-07-06 15:09:17 +01:00
pool_manip.c pool: fix typo in error message: then -> than 2014-12-04 09:18:16 +01:00
pv_alloc.h cleanup: self compilable headers 2013-12-12 13:28:19 +01:00
pv_manip.c pvremove: Avoid metadata re-reads & related error messages. 2015-01-06 14:27:30 +01:00
pv_map.c raid_manip: v2 fix multi-segment misallocation on 'lvconvert --repair' 2015-01-16 13:44:16 +01:00
pv_map.h Track unreserved space for all alloc policies and then permit NORMAL to place 2012-02-01 02:10:45 +00:00
pv.c pv_vg_name: do not expose internal orphans to lvm2 users 2014-03-19 00:57:59 +01:00
pv.h cleanup: self compilable headers 2013-12-12 13:28:19 +01:00
raid_manip.c Add lvmlockd 2015-07-02 15:42:26 -05:00
replicator_manip.c macros: Wrap PRI with FMT. 2015-07-06 15:09:17 +01:00
segtype.c clean: remove unneeded assign 2013-06-17 09:34:56 +02:00
segtype.h thin: errrorwhenfull support 2015-01-14 14:52:05 +01:00
snapshot_manip.c cleanup: fix typo and use vg mempool 2014-09-24 10:54:47 +02:00
thin_manip.c thin: fix warning for overprovisioning 2015-07-15 13:10:21 +02:00
vg.c Add lvmlockd 2015-07-02 15:42:26 -05:00
vg.h Add lvmlockd 2015-07-02 15:42:26 -05:00