Merge branch 'change_blocklevel_calc' into 'master'

Changed for_bytes method for BlockLevel.

See merge request redox-os/redoxfs!79
This commit is contained in:
Jeremy Soller
2024-10-26 01:25:11 +00:00
+6 -5
View File
@@ -48,12 +48,13 @@ pub struct BlockLevel(pub(crate) usize);
impl BlockLevel {
pub(crate) fn for_bytes(bytes: u64) -> Self {
//TODO: optimize
let mut level = BlockLevel(0);
while level.bytes() < bytes {
level.0 += 1;
if bytes == 0 {
return BlockLevel(0);
}
level
let level = bytes.div_ceil(BLOCK_SIZE)
.next_power_of_two()
.trailing_zeros() as usize;
BlockLevel(level)
}
pub fn blocks(self) -> i64 {