pub struct CachedDevice { /* private fields */ }Expand description
LRU-cached BlockDevice. Pass-through for is_writable + size_bytes; caches block-aligned reads, invalidates on writes.
Implementations§
Source§impl CachedDevice
impl CachedDevice
Trait Implementations§
Source§impl BlockDevice for CachedDevice
impl BlockDevice for CachedDevice
Source§fn read_at(&self, offset: u64, buf: &mut [u8]) -> Result<()>
fn read_at(&self, offset: u64, buf: &mut [u8]) -> Result<()>
Read exactly
buf.len() bytes starting at offset (bytes from start of device).Source§fn size_bytes(&self) -> u64
fn size_bytes(&self) -> u64
Total device size in bytes (for bounds-checking).
Source§fn write_at(&self, offset: u64, buf: &[u8]) -> Result<()>
fn write_at(&self, offset: u64, buf: &[u8]) -> Result<()>
Write exactly
buf.len() bytes at offset. Default: returns an error
for read-only devices. Writable devices override this.Source§fn flush(&self) -> Result<()>
fn flush(&self) -> Result<()>
Flush any pending writes to stable storage. Default: no-op for
read-only devices; writable devices should implement fsync semantics.
Source§fn is_writable(&self) -> bool
fn is_writable(&self) -> bool
Reports whether
write_at is likely to succeed. Used by the mount
path to decide whether journal replay is possible.Source§fn populate_cache(&self, block: u64, bytes: Vec<u8>)
fn populate_cache(&self, block: u64, bytes: Vec<u8>)
Buffer-cache hook: stash
bytes for block so a subsequent
read_at returns those bytes instead of reading from physical
storage. Used by commit_block_buffer to make journaled
metadata visible to readers before the journal is checkpointed
back to the data area on disk. Read moreAuto Trait Implementations§
impl !Freeze for CachedDevice
impl !RefUnwindSafe for CachedDevice
impl !UnwindSafe for CachedDevice
impl Send for CachedDevice
impl Sync for CachedDevice
impl Unpin for CachedDevice
impl UnsafeUnpin for CachedDevice
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more