[lvm-devel] master - mirror: Restrict region size to power of 2.
Alasdair Kergon
agk at fedoraproject.org
Tue Dec 2 14:27:27 UTC 2014
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=de53e0955dc43d5f069604553b038fa672463da9
Commit: de53e0955dc43d5f069604553b038fa672463da9
Parent: 9258e57a50451fbbabd72a197e6a78a2a5d898db
Author: Alasdair G Kergon <agk at redhat.com>
AuthorDate: Tue Dec 2 14:24:21 2014 +0000
Committer: Alasdair G Kergon <agk at redhat.com>
CommitterDate: Tue Dec 2 14:24:21 2014 +0000
mirror: Restrict region size to power of 2.
---
WHATS_NEW | 1 +
lib/metadata/mirror.c | 2 +-
2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 645450c..54e46d9 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.115 -
=====================================
+ Still restrict mirror region size to power of 2 when VG extent size is not.
Version 2.02.114 - 28th November 2014
=====================================
diff --git a/lib/metadata/mirror.c b/lib/metadata/mirror.c
index ba3ff6b..d0b1ebf 100644
--- a/lib/metadata/mirror.c
+++ b/lib/metadata/mirror.c
@@ -164,7 +164,7 @@ uint32_t adjusted_mirror_region_size(uint32_t extent_size, uint32_t extents,
{
uint64_t region_max;
- region_max = (1 << (ffs((int)extents) - 1)) * (uint64_t) extent_size;
+ region_max = (1 << (ffs((int)extents) - 1)) * (uint64_t) (1 << (ffs((int)extent_size) - 1));
if (region_max < UINT32_MAX && region_size > region_max) {
region_size = (uint32_t) region_max;
More information about the lvm-devel
mailing list