1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-10-28 20:25:52 +03:00
lvm2/lib
Jonathan Brassow acdc731e83 RAID: Fix _sufficient_pes_free calculation for RAID
lib/metadata/lv_manip.c:_sufficient_pes_free() was calculating the
required space for RAID allocations incorrectly due to double
accounting.  This resulted in failure to allocate when available
space was tight.

When RAID data and metadata areas are allocated together, the total
amount is stored in ah->new_extents and ah->alloc_and_split_meta is
set.  '_sufficient_pes_free' was adding the necessary metadata extents
to ah->new_extents without ever checking ah->alloc_and_split_meta.
This often led to double accounting of the metadata extents.  This
patch checks 'ah->alloc_and_split_meta' to perform proper calculations
for RAID.

This error is only present in the function that checks for the needed
space, not in the functions that do the actual allocation.
2013-09-26 11:30:07 -05:00
..
activate activation: use improved lv_info 2013-09-23 12:13:08 +02:00
cache cleanup: simplier string reset 2013-07-22 12:41:21 +02:00
commands toolcontext: Only reopen stdin if readable. 2013-08-28 23:55:14 +01:00
config thin: use appropriate default value based on allocation/thin_pool_chunk_size_calculation setting 2013-09-25 16:06:38 +02:00
datastruct Switch to return void 2012-02-08 12:52:58 +00:00
device filters: Add bcache. 2013-09-16 16:56:55 +01:00
display display: fix units for sizes <1k 2013-07-18 17:55:58 +01:00
error cleanup: drop unneeded included header files 2012-08-23 14:37:20 +02:00
filters filter-mpath: remove superfluous error message about mpath major not equal to dm major 2013-08-21 14:07:01 +02:00
format1 cleanup: drop unused headers 2013-06-16 00:07:32 +02:00
format_pool cleanup: drop unused headers 2013-06-16 00:07:32 +02:00
format_text release 2.02.102 2013-09-23 15:43:37 +01:00
freeseg cleanup: drop unneeded included header files 2012-08-23 14:37:20 +02:00
label logging: classify log_debug messages 2013-01-07 22:30:29 +00:00
locking Mirror: Fix inability to remove VG's cluster flag if it contains a mirror 2013-08-12 13:56:47 -05:00
log logging: tidy log_sys_error when string empty 2013-08-12 18:40:41 +01:00
metadata RAID: Fix _sufficient_pes_free calculation for RAID 2013-09-26 11:30:07 -05:00
mirror config: add profile arg to find_config_tree_str 2013-07-02 15:19:09 +02:00
misc fix: some issues reported by coverity 2013-08-15 12:23:49 +02:00
mm config: add profile arg to find_config_tree_bool 2013-07-02 15:19:09 +02:00
properties lvm2app: Add thin and thin pool lv creation 2013-07-12 16:52:16 -05:00
raid config: add profile arg to find_config_tree_str 2013-07-02 15:19:09 +02:00
replicator cleanup: drop unneeded included header files 2012-08-23 14:37:20 +02:00
report lvs: Add seg_size_pe field. 2013-09-23 21:50:14 +01:00
snapshot config: add profile arg to find_config_tree_str 2013-07-02 15:19:09 +02:00
striped Add activation/use_linear_target enabled by default. (prajnoha) 2011-11-28 20:37:51 +00:00
thin thin: metadata resize needs 1.9 version 2013-07-31 15:29:27 +02:00
unknown cleanup: drop unneeded included header files 2012-08-23 14:37:20 +02: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 cleanup: drop unneeded included header files 2012-08-23 14:37:20 +02:00
Makefile.in filters: check for mpath before opening devs 2013-08-13 23:26:58 +01:00