Skip to content

Commit 14614b4

Browse files
authored
Merge pull request #1572 from mulkieran/master-static-header-2
Use types and defined constant for BDA sizes
2 parents c012ac2 + f12fe95 commit 14614b4

File tree

6 files changed

+335
-189
lines changed

6 files changed

+335
-189
lines changed

src/engine/strat_engine/backstore/blockdev.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ use crate::{
1414
engine::{
1515
event::get_engine_listener_list,
1616
strat_engine::{
17-
backstore::{metadata::BDA, range_alloc::RangeAllocator, MDADataSize},
17+
backstore::{
18+
metadata::{BDAExtendedSize, MDADataSize, BDA},
19+
range_alloc::RangeAllocator,
20+
},
1821
serde_structs::{BaseBlockDevSave, Recordable},
1922
},
2023
BlockDev, BlockDevState, DevUuid, EngineEvent, MaybeDbusPath,
@@ -58,7 +61,7 @@ impl StratBlockDev {
5861
user_info: Option<String>,
5962
hardware_info: Option<String>,
6063
) -> StratisResult<StratBlockDev> {
61-
let mut segments = vec![(Sectors(0), bda.size())];
64+
let mut segments = vec![(Sectors(0), bda.extended_size().sectors())];
6265
segments.extend(upper_segments);
6366
let allocator = RangeAllocator::new(bda.dev_size(), &segments)?;
6467

@@ -110,8 +113,8 @@ impl StratBlockDev {
110113

111114
// ALL SIZE METHODS (except size(), which is in BlockDev impl.)
112115
/// The number of Sectors on this device used by Stratis for metadata
113-
pub fn metadata_size(&self) -> Sectors {
114-
self.bda.size()
116+
pub fn metadata_size(&self) -> BDAExtendedSize {
117+
self.bda.extended_size()
115118
}
116119

117120
/// The number of Sectors on this device not allocated for any purpose.
@@ -161,7 +164,7 @@ impl BlockDev for StratBlockDev {
161164

162165
fn state(&self) -> BlockDevState {
163166
// TODO: Implement support for other BlockDevStates
164-
if self.used.used() > self.bda.size() {
167+
if self.used.used() > self.metadata_size().sectors() {
165168
BlockDevState::InUse
166169
} else {
167170
BlockDevState::NotInUse

src/engine/strat_engine/backstore/blockdevmgr.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,10 @@ impl BlockDevMgr {
342342
/// The number of sectors given over to Stratis metadata
343343
/// self.size() - self.metadata_size() >= self.avail_space()
344344
pub fn metadata_size(&self) -> Sectors {
345-
self.block_devs.iter().map(|bd| bd.metadata_size()).sum()
345+
self.block_devs
346+
.iter()
347+
.map(|bd| bd.metadata_size().sectors())
348+
.sum()
346349
}
347350
}
348351

0 commit comments

Comments
 (0)