pub struct EasyFileSystem {
pub block_device: Arc<dyn BlockDevice>,
pub inode_bitmap: Bitmap,
pub data_bitmap: Bitmap,
/* private fields */
}Expand description
An easy file system on block
Fields§
§block_device: Arc<dyn BlockDevice>Real device
inode_bitmap: BitmapInode bitmap
data_bitmap: BitmapData bitmap
Implementations§
Source§impl EasyFileSystem
An easy fs over a block device
impl EasyFileSystem
An easy fs over a block device
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>>
A data block of block size
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_disk_inode_pos(&self, inode_id: u32) -> (u32, usize)
pub fn get_disk_inode_pos(&self, inode_id: u32) -> (u32, usize)
Get inode by id
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 Freeze for EasyFileSystem
impl !RefUnwindSafe for EasyFileSystem
impl Send for EasyFileSystem
impl Sync for EasyFileSystem
impl Unpin for EasyFileSystem
impl UnsafeUnpin for EasyFileSystem
impl !UnwindSafe for EasyFileSystem
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