mirror of
https://github.com/deepseek-ai/3FS
synced 2025-06-26 18:16:45 +00:00
chunk engine group_id clean up
This commit is contained in:
parent
33da06420f
commit
d8f534feab
@ -13,6 +13,8 @@ impl GroupId {
|
||||
// 32bit chunk size + 24bit group + 8bit cluster
|
||||
const SHIFT: u32 = 8;
|
||||
pub const COUNT: u32 = (1 << Self::SHIFT);
|
||||
pub const CLUSTER_MASK: u64 = (Self::COUNT - 1) as u64;
|
||||
pub const GROUP_MASK: u64 = ((1u64 << 24) - 1) << Self::SHIFT;
|
||||
|
||||
pub const fn new(chunk_size: Size, cluster: u8, group: u32) -> Self {
|
||||
Self(chunk_size.0 << 32 | (group << Self::SHIFT | cluster as u32) as u64)
|
||||
@ -31,8 +33,7 @@ impl GroupId {
|
||||
}
|
||||
|
||||
pub fn offset(&self) -> Size {
|
||||
const MARKS: u64 = !(GroupId::COUNT - 1) as u64;
|
||||
self.chunk_size() * (self.0 & MARKS)
|
||||
self.chunk_size() * (self.0 & Self::GROUP_MASK)
|
||||
}
|
||||
|
||||
pub fn size(&self) -> Size {
|
||||
|
||||
@ -16,8 +16,7 @@ impl Position {
|
||||
}
|
||||
|
||||
pub fn group_id(&self) -> GroupId {
|
||||
const MARKS: u64 = (GroupId::COUNT - 1) as u64;
|
||||
const CLEAN: u64 = !(MARKS | MARKS << 32);
|
||||
const CLEAN: u64 = !(GroupId::CLUSTER_MASK | GroupId::CLUSTER_MASK << 32);
|
||||
GroupId::from(self.0 & CLEAN | self.cluster() as u64)
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user