[TieredStorage] Make HotStorageReader use AccountOffset type (#33964)

#### Problem
#33927 introduced a new type AccountOffset, but HotStorageReader
still uses `usize` to access accounts.

#### Summary of Changes
This PR makes HotStorageReader use the new AccountOffset type.
This commit is contained in:
Yueh-Hsuan Chiang 2023-11-08 21:58:44 -08:00 committed by GitHub
parent 230779d459
commit 874fae507f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 5 deletions

View File

@ -9,7 +9,7 @@ use {
footer::{
AccountBlockFormat, AccountMetaFormat, OwnersBlockFormat, TieredStorageFooter,
},
index::IndexBlockFormat,
index::{AccountOffset, IndexBlockFormat},
meta::{AccountMetaFlags, AccountMetaOptionalFields, TieredAccountMeta},
mmap_utils::get_type,
TieredStorageFormat, TieredStorageResult,
@ -223,8 +223,11 @@ impl HotStorageReader {
}
/// Returns the account meta located at the specified offset.
fn get_account_meta_from_offset(&self, offset: usize) -> TieredStorageResult<&HotAccountMeta> {
let (meta, _) = get_type::<HotAccountMeta>(&self.mmap, offset)?;
fn get_account_meta_from_offset(
&self,
account_offset: AccountOffset,
) -> TieredStorageResult<&HotAccountMeta> {
let (meta, _) = get_type::<HotAccountMeta>(&self.mmap, account_offset.block)?;
Ok(meta)
}
}
@ -241,7 +244,7 @@ pub mod tests {
FOOTER_SIZE,
},
hot::{HotAccountMeta, HotStorageReader},
index::IndexBlockFormat,
index::{AccountOffset, IndexBlockFormat},
meta::{AccountMetaFlags, AccountMetaOptionalFields, TieredAccountMeta},
},
memoffset::offset_of,
@ -444,7 +447,7 @@ pub mod tests {
.map(|meta| {
let prev_offset = current_offset;
current_offset += file.write_type(meta).unwrap();
prev_offset
AccountOffset { block: prev_offset }
})
.collect();
// while the test only focuses on account metas, writing a footer