diff --git a/kernel/src/fs/inode_handle/dyn_cap.rs b/kernel/src/fs/inode_handle/dyn_cap.rs index 6d5d8b720..6f7d7f329 100644 --- a/kernel/src/fs/inode_handle/dyn_cap.rs +++ b/kernel/src/fs/inode_handle/dyn_cap.rs @@ -47,14 +47,6 @@ impl InodeHandle { Ok(InodeHandle(self.0.clone(), R1::new())) } - pub fn read_to_end(&self, buf: &mut Vec) -> Result { - if !self.1.contains(Rights::READ) { - return_errno_with_message!(Errno::EBADF, "file is not readable"); - } - - self.0.read_to_end(buf) - } - pub fn readdir(&self, visitor: &mut dyn DirentVisitor) -> Result { if !self.1.contains(Rights::READ) { return_errno_with_message!(Errno::EBADF, "file is not readable"); diff --git a/kernel/src/fs/inode_handle/mod.rs b/kernel/src/fs/inode_handle/mod.rs index 80b0595d1..4d1409e05 100644 --- a/kernel/src/fs/inode_handle/mod.rs +++ b/kernel/src/fs/inode_handle/mod.rs @@ -113,19 +113,6 @@ impl InodeHandle_ { } } - pub fn read_to_end(&self, buf: &mut Vec) -> Result { - if self.file_io.is_some() { - return_errno_with_message!(Errno::EINVAL, "file io does not support read to end"); - } - - let len = if self.status_flags().contains(StatusFlags::O_DIRECT) { - self.dentry.inode().read_direct_to_end(buf)? - } else { - self.dentry.inode().read_to_end(buf)? - }; - Ok(len) - } - pub fn seek(&self, pos: SeekFrom) -> Result { let mut offset = self.offset.lock(); let new_offset: isize = match pos { diff --git a/kernel/src/fs/inode_handle/static_cap.rs b/kernel/src/fs/inode_handle/static_cap.rs index d79677a4b..ed5722937 100644 --- a/kernel/src/fs/inode_handle/static_cap.rs +++ b/kernel/src/fs/inode_handle/static_cap.rs @@ -12,11 +12,6 @@ impl InodeHandle> { self.0.read(writer) } - #[require(R > Read)] - pub fn read_to_end(&self, buf: &mut Vec) -> Result { - self.0.read_to_end(buf) - } - #[require(R > Write)] pub fn write(&self, reader: &mut VmReader) -> Result { self.0.write(reader) diff --git a/kernel/src/fs/utils/inode.rs b/kernel/src/fs/utils/inode.rs index f631346f5..c276f285f 100644 --- a/kernel/src/fs/utils/inode.rs +++ b/kernel/src/fs/utils/inode.rs @@ -569,34 +569,6 @@ impl dyn Inode { (self as &dyn Any).downcast_ref::() } - pub fn read_to_end(&self, buf: &mut Vec) -> Result { - if !self.type_().support_read() { - return_errno!(Errno::EISDIR); - } - - let file_size = self.size(); - if buf.len() < file_size { - buf.resize(file_size, 0); - } - - let mut writer = VmWriter::from(&mut buf[..file_size]).to_fallible(); - self.read_at(0, &mut writer) - } - - pub fn read_direct_to_end(&self, buf: &mut Vec) -> Result { - if !self.type_().support_read() { - return_errno!(Errno::EISDIR); - } - - let file_size = self.size(); - if buf.len() < file_size { - buf.resize(file_size, 0); - } - - let mut writer = VmWriter::from(&mut buf[..file_size]).to_fallible(); - self.read_direct_at(0, &mut writer) - } - pub fn writer(&self, from_offset: usize) -> InodeWriter { InodeWriter { inner: self,