summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/format1/disk-rep.c2
-rw-r--r--lib/format1/layout.c2
-rw-r--r--lib/format1/lvm1-label.c2
-rw-r--r--lib/format_pool/disk_rep.c2
-rw-r--r--lib/metadata/lv_manip.c2
-rw-r--r--tools/pvdisplay.c2
6 files changed, 6 insertions, 6 deletions
diff --git a/lib/format1/disk-rep.c b/lib/format1/disk-rep.c
index d7c3f7d7..0143ea09 100644
--- a/lib/format1/disk-rep.c
+++ b/lib/format1/disk-rep.c
@@ -335,7 +335,7 @@ static void __update_lvmcache(const struct format_type *fmt,
return;
}
- lvmcache_set_device_size(info, xlate32(dl->pvd.pv_size) << SECTOR_SHIFT);
+ lvmcache_set_device_size(info, ((uint64_t)xlate32(dl->pvd.pv_size)) << SECTOR_SHIFT);
lvmcache_del_mdas(info);
lvmcache_make_valid(info);
}
diff --git a/lib/format1/layout.c b/lib/format1/layout.c
index de9b206c..14a7eaf2 100644
--- a/lib/format1/layout.c
+++ b/lib/format1/layout.c
@@ -153,7 +153,7 @@ int calculate_extent_count(struct physical_volume *pv, uint32_t extent_size,
pvd->pe_start = _round_up(end, LVM1_PE_ALIGN);
- } while ((pvd->pe_start + (pvd->pe_total * extent_size))
+ } while ((pvd->pe_start + ((uint64_t)pvd->pe_total * extent_size))
> pv->size);
if (pvd->pe_total > MAX_PE_TOTAL) {
diff --git a/lib/format1/lvm1-label.c b/lib/format1/lvm1-label.c
index 4c157ac5..6138a05c 100644
--- a/lib/format1/lvm1-label.c
+++ b/lib/format1/lvm1-label.c
@@ -79,7 +79,7 @@ static int _lvm1_read(struct labeller *l, struct device *dev, void *buf,
return_0;
*label = lvmcache_get_label(info);
- lvmcache_set_device_size(info, xlate32(pvd->pv_size) << SECTOR_SHIFT);
+ lvmcache_set_device_size(info, ((uint64_t)xlate32(pvd->pv_size)) << SECTOR_SHIFT);
lvmcache_del_mdas(info);
lvmcache_make_valid(info);
diff --git a/lib/format_pool/disk_rep.c b/lib/format_pool/disk_rep.c
index 2201ab9e..a140384f 100644
--- a/lib/format_pool/disk_rep.c
+++ b/lib/format_pool/disk_rep.c
@@ -103,7 +103,7 @@ int read_pool_label(struct pool_list *pl, struct labeller *l,
if (label)
*label = lvmcache_get_label(info);
- lvmcache_set_device_size(info, xlate32_be(pd->pl_blocks) << SECTOR_SHIFT);
+ lvmcache_set_device_size(info, ((uint64_t)xlate32_be(pd->pl_blocks)) << SECTOR_SHIFT);
lvmcache_del_mdas(info);
lvmcache_make_valid(info);
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index 70b984e8..51abae0f 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -726,7 +726,7 @@ static uint32_t mirror_log_extents(uint32_t region_size, uint32_t pe_size, uint3
{
size_t area_size, bitset_size, log_size, region_count;
- area_size = area_len * pe_size;
+ area_size = (size_t)area_len * pe_size;
region_count = dm_div_up(area_size, region_size);
/* Work out how many "unsigned long"s we need to hold the bitset. */
diff --git a/tools/pvdisplay.c b/tools/pvdisplay.c
index 21367212..c6cd4129 100644
--- a/tools/pvdisplay.c
+++ b/tools/pvdisplay.c
@@ -54,7 +54,7 @@ static int _pvdisplay_single(struct cmd_context *cmd,
if (is_orphan(pv))
size = pv_size(pv);
else
- size = (pv_pe_count(pv) - pv_pe_alloc_count(pv)) *
+ size = (uint64_t)(pv_pe_count(pv) - pv_pe_alloc_count(pv)) *
pv_pe_size(pv);
if (arg_count(cmd, short_ARG)) {