新加结构体POSIXSTATFS与SuperBlock用于处理statfs系统调用 (#667)

* 新加结构体POSIXSTATFS与SuperBlock用于处理statfs系统调用
This commit is contained in:
TTaq
2024-03-26 18:28:26 +08:00
committed by GitHub
parent 0cb807346c
commit 597ecc08c2
17 changed files with 384 additions and 13 deletions

View File

@ -22,7 +22,7 @@ use self::callback::{KernCallbackData, KernFSCallback, KernInodePrivateData};
use super::vfs::{
core::generate_inode_id, file::FileMode, syscall::ModeType, FilePrivateData, FileSystem,
FileType, FsInfo, IndexNode, InodeId, Metadata,
FileType, FsInfo, IndexNode, InodeId, Magic, Metadata, SuperBlock,
};
pub mod callback;
@ -51,11 +51,19 @@ impl FileSystem for KernFS {
fn name(&self) -> &str {
"kernfs"
}
fn super_block(&self) -> SuperBlock {
SuperBlock::new(
Magic::KER_MAGIC,
KernFS::KERNFS_BLOCK_SIZE,
KernFS::MAX_NAMELEN as u64,
)
}
}
impl KernFS {
pub const MAX_NAMELEN: usize = 4096;
pub const KERNFS_BLOCK_SIZE: u64 = 512;
#[allow(dead_code)]
pub fn new() -> Arc<Self> {
let root_inode = Self::create_root_inode();