修正null设备以及zero设备无法open、行为不符合预期的问题 (#314)

This commit is contained in:
LoGin 2023-08-02 17:33:16 +08:00 committed by GitHub
parent 4da3758acf
commit 0650030330
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 15 deletions

View File

@ -70,11 +70,11 @@ impl IndexNode for LockedNullInode {
} }
fn open(&self, _data: &mut FilePrivateData, _mode: &FileMode) -> Result<(), SystemError> { fn open(&self, _data: &mut FilePrivateData, _mode: &FileMode) -> Result<(), SystemError> {
Err(SystemError::EOPNOTSUPP_OR_ENOTSUP) return Ok(());
} }
fn close(&self, _data: &mut FilePrivateData) -> Result<(), SystemError> { fn close(&self, _data: &mut FilePrivateData) -> Result<(), SystemError> {
Err(SystemError::EOPNOTSUPP_OR_ENOTSUP) return Ok(());
} }
fn metadata(&self) -> Result<Metadata, SystemError> { fn metadata(&self) -> Result<Metadata, SystemError> {
@ -109,19 +109,11 @@ impl IndexNode for LockedNullInode {
fn read_at( fn read_at(
&self, &self,
_offset: usize, _offset: usize,
len: usize, _len: usize,
buf: &mut [u8], _buf: &mut [u8],
_data: &mut FilePrivateData, _data: &mut FilePrivateData,
) -> Result<usize, SystemError> { ) -> Result<usize, SystemError> {
if buf.len() < len { return Ok(0);
return Err(SystemError::EINVAL);
}
for i in 0..len {
buf[i] = 0;
}
return Ok(len);
} }
/// 写设备 - 应该调用设备的函数读写,而不是通过文件系统读写 /// 写设备 - 应该调用设备的函数读写,而不是通过文件系统读写

View File

@ -70,11 +70,11 @@ impl IndexNode for LockedZeroInode {
} }
fn open(&self, _data: &mut FilePrivateData, _mode: &FileMode) -> Result<(), SystemError> { fn open(&self, _data: &mut FilePrivateData, _mode: &FileMode) -> Result<(), SystemError> {
Err(SystemError::EOPNOTSUPP_OR_ENOTSUP) return Ok(());
} }
fn close(&self, _data: &mut FilePrivateData) -> Result<(), SystemError> { fn close(&self, _data: &mut FilePrivateData) -> Result<(), SystemError> {
Err(SystemError::EOPNOTSUPP_OR_ENOTSUP) return Ok(());
} }
fn metadata(&self) -> Result<Metadata, SystemError> { fn metadata(&self) -> Result<Metadata, SystemError> {