From 06500303303ec14711b4f995e2058e12703f0f2c Mon Sep 17 00:00:00 2001 From: LoGin Date: Wed, 2 Aug 2023 17:33:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3null=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E4=BB=A5=E5=8F=8Azero=E8=AE=BE=E5=A4=87=E6=97=A0=E6=B3=95open?= =?UTF-8?q?=E3=80=81=E8=A1=8C=E4=B8=BA=E4=B8=8D=E7=AC=A6=E5=90=88=E9=A2=84?= =?UTF-8?q?=E6=9C=9F=E7=9A=84=E9=97=AE=E9=A2=98=20(#314)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/src/filesystem/devfs/null_dev.rs | 18 +++++------------- kernel/src/filesystem/devfs/zero_dev.rs | 4 ++-- 2 files changed, 7 insertions(+), 15 deletions(-) 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 {