mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-10 03:56:49 +00:00
parent
c757940bd6
commit
a3ef8f8ad5
@ -114,6 +114,33 @@ impl RamFS {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl IndexNode for LockedRamFSInode {
|
impl IndexNode for LockedRamFSInode {
|
||||||
|
fn truncate(&self, len: usize) -> Result<(), SystemError> {
|
||||||
|
let mut inode = self.0.lock();
|
||||||
|
|
||||||
|
//如果是文件夹,则报错
|
||||||
|
if inode.metadata.file_type == FileType::Dir {
|
||||||
|
return Err(SystemError::EINVAL);
|
||||||
|
}
|
||||||
|
|
||||||
|
//当前文件长度大于_len才进行截断,否则不操作
|
||||||
|
if inode.data.len() > len {
|
||||||
|
inode.data.resize(len, 0);
|
||||||
|
}
|
||||||
|
return Ok(());
|
||||||
|
}
|
||||||
|
|
||||||
|
fn close(&self, _data: &mut FilePrivateData) -> Result<(), SystemError> {
|
||||||
|
return Ok(());
|
||||||
|
}
|
||||||
|
|
||||||
|
fn open(
|
||||||
|
&self,
|
||||||
|
_data: &mut FilePrivateData,
|
||||||
|
_mode: &super::vfs::file::FileMode,
|
||||||
|
) -> Result<(), SystemError> {
|
||||||
|
return Ok(());
|
||||||
|
}
|
||||||
|
|
||||||
fn read_at(
|
fn read_at(
|
||||||
&self,
|
&self,
|
||||||
offset: usize,
|
offset: usize,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user