diff --git a/kernel/src/filesystem/devfs/null_dev.rs b/kernel/src/filesystem/devfs/null_dev.rs index 2a1ed6e7..b64e118c 100644 --- a/kernel/src/filesystem/devfs/null_dev.rs +++ b/kernel/src/filesystem/devfs/null_dev.rs @@ -70,11 +70,11 @@ impl IndexNode for LockedNullInode { } 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> { - Err(SystemError::EOPNOTSUPP_OR_ENOTSUP) + return Ok(()); } fn metadata(&self) -> Result { @@ -109,19 +109,11 @@ impl IndexNode for LockedNullInode { fn read_at( &self, _offset: usize, - len: usize, - buf: &mut [u8], + _len: usize, + _buf: &mut [u8], _data: &mut FilePrivateData, ) -> Result { - if buf.len() < len { - return Err(SystemError::EINVAL); - } - - for i in 0..len { - buf[i] = 0; - } - - return Ok(len); + return Ok(0); } /// 写设备 - 应该调用设备的函数读写,而不是通过文件系统读写 diff --git a/kernel/src/filesystem/devfs/zero_dev.rs b/kernel/src/filesystem/devfs/zero_dev.rs index fd37bda5..7385fe3c 100644 --- a/kernel/src/filesystem/devfs/zero_dev.rs +++ b/kernel/src/filesystem/devfs/zero_dev.rs @@ -70,11 +70,11 @@ impl IndexNode for LockedZeroInode { } 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> { - Err(SystemError::EOPNOTSUPP_OR_ENOTSUP) + return Ok(()); } fn metadata(&self) -> Result {