1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

Fix check for log-only allocation in new alloc normal loop.

This commit is contained in:
Alasdair Kergon 2011-02-27 01:16:52 +00:00
parent 92ffcda183
commit 1a52fa6858
2 changed files with 3 additions and 3 deletions

View File

@ -1,7 +1,7 @@
Version 2.02.85 - Version 2.02.85 -
=================================== ===================================
Extend normal policy to allow mirror logs on same devs as images if necessary. Extend normal policy to allow mirror logs on same PVs as images if necessary.
Improve cling policy to recognise devs already allocated in the transaction. Improve cling policy to recognise PVs already used during the transaction.
Improve normal allocation algorithm to include clinging to existing areas. Improve normal allocation algorithm to include clinging to existing areas.
Add allocation/maximise_cling & mirror_logs_require_separate_pvs to lvm.conf. Add allocation/maximise_cling & mirror_logs_require_separate_pvs to lvm.conf.
Fix metadata balance code to work with recent changes in metadata handling. Fix metadata balance code to work with recent changes in metadata handling.

View File

@ -1555,9 +1555,9 @@ static int _find_some_parallel_space(struct alloc_handle *ah, const struct alloc
(alloc_parms->flags & A_CLING_TO_ALLOCED) && !iteration_count++) || (alloc_parms->flags & A_CLING_TO_ALLOCED) && !iteration_count++) ||
/* Extra iteration needed to fill log areas on PVs already used? */ /* Extra iteration needed to fill log areas on PVs already used? */
(alloc_parms->alloc == ALLOC_NORMAL && preferred_count == ix_offset && !ah->mirror_logs_separate && (alloc_parms->alloc == ALLOC_NORMAL && preferred_count == ix_offset && !ah->mirror_logs_separate &&
(ix + preferred_count >= ah->area_count) &&
(ix + preferred_count < ah->area_count + alloc_state->log_area_count_still_needed) && !log_iteration_count++)); (ix + preferred_count < ah->area_count + alloc_state->log_area_count_still_needed) && !log_iteration_count++));
if (preferred_count < ix_offset && !(alloc_parms->flags & A_CLING_TO_ALLOCED)) if (preferred_count < ix_offset && !(alloc_parms->flags & A_CLING_TO_ALLOCED))
return 1; return 1;