diff options
author | Alasdair G Kergon <agk@redhat.com> | 2014-12-02 14:24:21 +0000 |
---|---|---|
committer | Alasdair G Kergon <agk@redhat.com> | 2014-12-02 14:24:21 +0000 |
commit | de53e0955dc43d5f069604553b038fa672463da9 (patch) | |
tree | f600f5d4779a49956afaab50d16065b574f964de | |
parent | 9258e57a50451fbbabd72a197e6a78a2a5d898db (diff) | |
download | lvm2-de53e0955dc43d5f069604553b038fa672463da9.tar.gz |
mirror: Restrict region size to power of 2.
-rw-r--r-- | WHATS_NEW | 1 | ||||
-rw-r--r-- | lib/metadata/mirror.c | 2 |
2 files changed, 2 insertions, 1 deletions
@@ -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 ba3ff6baa..d0b1ebff1 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; |