diff options
author | Chuyan Zhang <me@zcy.moe> | 2023-11-18 02:43:01 -0800 |
---|---|---|
committer | Chuyan Zhang <me@zcy.moe> | 2023-11-18 02:43:01 -0800 |
commit | 886df6daf6bb6b922276157dba1cc099e897a9ea (patch) | |
tree | 300b135bddd8ce8631dfd3ec45a9bf3d021a24df /src/cached_inode.rs | |
parent | cd0163da154367f5437ae1423bc97c450d74adf7 (diff) | |
download | myfs-886df6daf6bb6b922276157dba1cc099e897a9ea.tar.gz myfs-886df6daf6bb6b922276157dba1cc099e897a9ea.zip |
Major refactor of file hierarchy
Diffstat (limited to 'src/cached_inode.rs')
-rw-r--r-- | src/cached_inode.rs | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/src/cached_inode.rs b/src/cached_inode.rs deleted file mode 100644 index a4e8202..0000000 --- a/src/cached_inode.rs +++ /dev/null @@ -1,33 +0,0 @@ -use crate::disk::data_block::{Block, DataBlock}; -use crate::disk::inode::Inode; - -pub struct CachedInode { - pub inode: Inode, - pub index: usize, - pub dirty: bool, -} - -#[derive(Clone)] -pub struct CachedBlock<T: Block> { - pub block: T, - pub index: usize, - pub dirty: bool, -} - -impl<T: Block> CachedBlock<T> { - fn cast<U: Block>(&self) -> CachedBlock<U> { - unsafe { std::mem::transmute_copy(&self) } - } -} - -pub fn convert_mut<U: Block, T: Block>(input_block: &mut CachedBlock<U>) -> &mut CachedBlock<T> { - let ptr = input_block as *const CachedBlock<U> as *mut u8; - let block = ptr.cast::<CachedBlock<T>>(); - unsafe { &mut *block } -} - -pub fn convert<U: Block, T: Block>(input_block: &CachedBlock<U>) -> &CachedBlock<T> { - let ptr = input_block as *const CachedBlock<U> as *mut u8; - let block = ptr.cast::<CachedBlock<T>>(); - unsafe { &*block } -} |