Struct easy_fs::EasyFileSystem
source · [−]pub struct EasyFileSystem {
pub block_device: Arc<dyn BlockDevice>,
pub inode_bitmap: Bitmap,
pub data_bitmap: Bitmap,
/* private fields */
}
Expand description
An easy fs over a block device
Fields
block_device: Arc<dyn BlockDevice>
inode_bitmap: Bitmap
data_bitmap: Bitmap
Implementations
sourceimpl EasyFileSystem
impl EasyFileSystem
sourcepub fn create(
block_device: Arc<dyn BlockDevice>,
total_blocks: u32,
inode_bitmap_blocks: u32
) -> Arc<Mutex<Self>>
pub fn create(
block_device: Arc<dyn BlockDevice>,
total_blocks: u32,
inode_bitmap_blocks: u32
) -> Arc<Mutex<Self>>
Create a filesystem from a block device
sourcepub fn open(block_device: Arc<dyn BlockDevice>) -> Arc<Mutex<Self>>
pub fn open(block_device: Arc<dyn BlockDevice>) -> Arc<Mutex<Self>>
Open a block device as a filesystem
sourcepub fn root_inode(efs: &Arc<Mutex<Self>>) -> Inode
pub fn root_inode(efs: &Arc<Mutex<Self>>) -> Inode
Get the root inode of the filesystem
sourcepub fn get_data_block_id(&self, data_block_id: u32) -> u32
pub fn get_data_block_id(&self, data_block_id: u32) -> u32
Get data block by id
sourcepub fn alloc_inode(&mut self) -> u32
pub fn alloc_inode(&mut self) -> u32
Allocate a new inode
sourcepub fn alloc_data(&mut self) -> u32
pub fn alloc_data(&mut self) -> u32
Allocate a data block
sourcepub fn dealloc_data(&mut self, block_id: u32)
pub fn dealloc_data(&mut self, block_id: u32)
Deallocate a data block
Auto Trait Implementations
impl !RefUnwindSafe for EasyFileSystem
impl Send for EasyFileSystem
impl Sync for EasyFileSystem
impl Unpin for EasyFileSystem
impl !UnwindSafe for EasyFileSystem
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more