mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-09 15:26:47 +00:00
parent
c757940bd6
commit
a3ef8f8ad5
@ -114,6 +114,33 @@ impl RamFS {
|
||||
}
|
||||
|
||||
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(
|
||||
&self,
|
||||
offset: usize,
|
||||
|
Loading…
x
Reference in New Issue
Block a user