int64_t GetPrimaryMetadataOffset(const LpMetadataGeometry& geometry, uint32_t slot_number) {
CHECK(slot_number < geometry.metadata_slot_count);
int64_t offset = LP_PARTITION_RESERVED_BYTES + (LP_METADATA_GEOMETRY_SIZE * 2) +
- geometry.metadata_max_size * slot_number;
+ int64_t(geometry.metadata_max_size) * slot_number;
return offset;
}
CHECK(slot_number < geometry.metadata_slot_count);
int64_t start = LP_PARTITION_RESERVED_BYTES + (LP_METADATA_GEOMETRY_SIZE * 2) +
int64_t(geometry.metadata_max_size) * geometry.metadata_slot_count;
- return start + int64_t(geometry.metadata_max_size * slot_number);
+ return start + int64_t(geometry.metadata_max_size) * slot_number;
}
uint64_t GetTotalMetadataSize(uint32_t metadata_max_size, uint32_t max_slots) {
return LP_PARTITION_RESERVED_BYTES +
- (LP_METADATA_GEOMETRY_SIZE + metadata_max_size * max_slots) * 2;
+ (LP_METADATA_GEOMETRY_SIZE + int64_t(metadata_max_size) * max_slots) * 2;
}
const LpMetadataBlockDevice* GetMetadataSuperBlockDevice(const LpMetadata& metadata) {
e.num_sectors = 10240;
e.target_type = 0;
// add offset equall to idx * PART_SIZE as a number of 512B sectors (1024 * 1024 / 512)
- e.target_data = 2048 + idx * PART_SIZE * 2048;
+ e.target_data = 2048 + uint64_t(idx) * PART_SIZE * 2048;
e.target_source = 0;
metadata.extents.push_back(e);
std::stringstream metadata_stream;
metadata_stream << s;
metadata_stream >> m;
-}
\ No newline at end of file
+}