Merge branch 'unused_dup_impls' into 'master'

Remove all dup impls that only accept empty paths

See merge request redox-os/drivers!220
This commit is contained in:
Jeremy Soller
2024-12-27 14:14:23 +00:00
11 changed files with 9 additions and 157 deletions
-4
View File
@@ -28,10 +28,6 @@ impl SchemeMut for PcspkrScheme {
}
}
fn dup(&mut self, _id: usize, _buf: &[u8]) -> Result<usize> {
Err(Error::new(EPERM))
}
fn read(&mut self, _id: usize, _buf: &mut [u8]) -> Result<usize> {
Err(Error::new(EPERM))
}
-8
View File
@@ -33,14 +33,6 @@ impl SchemeMut for BgaScheme {
}
}
fn dup(&mut self, file: usize, buf: &[u8]) -> Result<usize> {
if !buf.is_empty() {
return Err(Error::new(EINVAL));
}
Ok(file)
}
fn read(&mut self, _file: usize, buf: &mut [u8]) -> Result<usize> {
let mut i = 0;
let data = format!("{},{}\n", self.bga.width(), self.bga.height()).into_bytes();
-20
View File
@@ -6,7 +6,6 @@ use syscall::{Error, EventFlags, Result, EBADF, EINVAL, ENOENT};
use crate::display::Display;
use crate::text::TextScreen;
#[derive(Clone)]
pub struct Handle {
pub events: EventFlags,
pub notified_read: bool,
@@ -51,25 +50,6 @@ impl Scheme for FbbootlogScheme {
Ok(id)
}
fn dup(&mut self, id: usize, buf: &[u8]) -> Result<usize> {
if !buf.is_empty() {
return Err(Error::new(EINVAL));
}
let handle = self
.handles
.get(&id)
.map(|handle| handle.clone())
.ok_or(Error::new(EBADF))?;
let new_id = self.next_id;
self.next_id += 1;
self.handles.insert(new_id, handle);
Ok(new_id)
}
fn fevent(&mut self, id: usize, flags: syscall::EventFlags) -> Result<syscall::EventFlags> {
let handle = self.handles.get_mut(&id).ok_or(Error::new(EBADF))?;
+1 -21
View File
@@ -3,7 +3,7 @@ use std::os::fd::AsRawFd;
use event::{EventQueue, UserData};
use redox_scheme::SchemeBlock;
use syscall::{Error, EventFlags, Result, EBADF, EINVAL, ENOENT, O_NONBLOCK};
use syscall::{Error, EventFlags, Result, EBADF, ENOENT, O_NONBLOCK};
use crate::display::Display;
use crate::text::TextScreen;
@@ -25,7 +25,6 @@ impl UserData for VtIndex {
}
}
#[derive(Clone)]
pub struct Handle {
pub vt_i: VtIndex,
pub flags: usize,
@@ -98,25 +97,6 @@ impl SchemeBlock for FbconScheme {
}
}
fn dup(&mut self, id: usize, buf: &[u8]) -> Result<Option<usize>> {
if !buf.is_empty() {
return Err(Error::new(EINVAL));
}
let handle = self
.handles
.get(&id)
.map(|handle| handle.clone())
.ok_or(Error::new(EBADF))?;
let new_id = self.next_id;
self.next_id += 1;
self.handles.insert(new_id, handle);
Ok(Some(new_id))
}
fn fevent(
&mut self,
id: usize,
-8
View File
@@ -1802,14 +1802,6 @@ impl scheme::SchemeMut for Alx {
}
}
fn dup(&mut self, id: usize, buf: &[u8]) -> Result<usize> {
if !buf.is_empty() {
return Err(Error::new(EINVAL));
}
Ok(id)
}
fn read(&mut self, id: usize, _buf: &mut [u8]) -> Result<usize> {
/*
let head = unsafe { self.read(RDH) };
-12
View File
@@ -40,7 +40,6 @@ pub struct NetworkScheme<T: NetworkAdapter> {
blocked: Vec<CallRequest>,
}
#[derive(Copy, Clone)]
enum Handle {
Data,
Mac,
@@ -177,17 +176,6 @@ impl<T: NetworkAdapter> SchemeBlock for NetworkScheme<T> {
}))
}
fn dup(&mut self, id: usize, buf: &[u8]) -> Result<Option<usize>> {
if !buf.is_empty() {
return Err(Error::new(EINVAL));
}
let handle = *self.handles.get(&id).ok_or(Error::new(EBADF))?;
self.next_id += 1;
self.handles.insert(self.next_id, handle);
Ok(Some(self.next_id))
}
fn read(
&mut self,
id: usize,
+2 -22
View File
@@ -7,13 +7,12 @@ use driver_block::{Disk, DiskWrapper};
use redox_scheme::{CallerCtx, OpenResult, SchemeBlock};
use syscall::schemev2::NewFdFlags;
use syscall::{
Error, Result, Stat, EACCES, EBADF, EINVAL, EISDIR, ENOENT, ENOLCK, EOVERFLOW, MODE_DIR,
MODE_FILE, O_DIRECTORY, O_STAT,
Error, Result, Stat, EACCES, EBADF, EISDIR, ENOENT, ENOLCK, EOVERFLOW, MODE_DIR, MODE_FILE,
O_DIRECTORY, O_STAT,
};
use crate::ahci::hba::HbaMem;
#[derive(Clone)]
enum Handle {
List(Vec<u8>), // Dir contents buffer
Disk(usize), // Disk index
@@ -165,25 +164,6 @@ impl SchemeBlock for DiskScheme {
}))
}
fn xdup(&mut self, id: usize, buf: &[u8], _: &CallerCtx) -> Result<Option<OpenResult>> {
if !buf.is_empty() {
return Err(Error::new(EINVAL));
}
let new_handle = {
let handle = self.handles.get(&id).ok_or(Error::new(EBADF))?;
handle.clone()
};
let new_id = self.next_id;
self.next_id += 1;
self.handles.insert(new_id, new_handle);
Ok(Some(OpenResult::ThisScheme {
number: new_id,
flags: NewFdFlags::POSITIONED,
}))
}
fn fstat(&mut self, id: usize, stat: &mut Stat) -> Result<Option<usize>> {
match *self.handles.get(&id).ok_or(Error::new(EBADF))? {
Handle::List(ref data) => {
+2 -20
View File
@@ -1,18 +1,16 @@
use std::collections::BTreeMap;
use std::fmt::Write;
use std::str;
use std::sync::{Arc, Mutex};
use driver_block::{Disk, DiskWrapper};
use syscall::schemev2::NewFdFlags;
use syscall::{
Error, Result, Stat, EACCES, EBADF, EINVAL, EISDIR, ENOENT, ENOLCK, EOVERFLOW, MODE_DIR,
MODE_FILE, O_DIRECTORY, O_STAT,
Error, Result, Stat, EACCES, EBADF, EISDIR, ENOENT, ENOLCK, EOVERFLOW, MODE_DIR, MODE_FILE,
O_DIRECTORY, O_STAT,
};
use redox_scheme::{CallerCtx, OpenResult, SchemeBlock};
#[derive(Clone)]
enum Handle {
List(Vec<u8>), // Dir contents buffer
Disk(usize), // Disk index
@@ -155,22 +153,6 @@ impl SchemeBlock for DiskScheme {
}
}
fn dup(&mut self, id: usize, buf: &[u8]) -> Result<Option<usize>> {
if !buf.is_empty() {
return Err(Error::new(EINVAL));
}
let new_handle = {
let handle = self.handles.get(&id).ok_or(Error::new(EBADF))?;
handle.clone()
};
let new_id = self.next_id;
self.next_id += 1;
self.handles.insert(new_id, new_handle);
Ok(Some(new_id))
}
fn fstat(&mut self, id: usize, stat: &mut Stat) -> Result<Option<usize>> {
match *self.handles.get(&id).ok_or(Error::new(EBADF))? {
Handle::List(ref data) => {
+2 -19
View File
@@ -6,14 +6,13 @@ use std::sync::{Arc, Mutex};
use driver_block::{Disk, DiskWrapper};
use syscall::schemev2::NewFdFlags;
use syscall::{
Error, Result, Stat, EACCES, EBADF, EINVAL, EISDIR, ENOENT, ENOLCK, EOVERFLOW, MODE_DIR,
MODE_FILE, O_DIRECTORY, O_STAT,
Error, Result, Stat, EACCES, EBADF, EISDIR, ENOENT, ENOLCK, EOVERFLOW, MODE_DIR, MODE_FILE,
O_DIRECTORY, O_STAT,
};
use crate::ide::Channel;
use redox_scheme::{CallerCtx, OpenResult, SchemeBlock};
#[derive(Clone)]
enum Handle {
List(Vec<u8>), // Dir contents buffer
Disk(usize), // Disk index
@@ -168,22 +167,6 @@ impl SchemeBlock for DiskScheme {
}
}
fn dup(&mut self, id: usize, buf: &[u8]) -> Result<Option<usize>> {
if !buf.is_empty() {
return Err(Error::new(EINVAL));
}
let new_handle = {
let handle = self.handles.get(&id).ok_or(Error::new(EBADF))?;
handle.clone()
};
let new_id = self.next_id;
self.next_id += 1;
self.handles.insert(new_id, new_handle);
Ok(Some(new_id))
}
fn fstat(&mut self, id: usize, stat: &mut Stat) -> Result<Option<usize>> {
match *self.handles.get(&id).ok_or(Error::new(EBADF))? {
Handle::List(ref data) => {
+2 -19
View File
@@ -9,15 +9,14 @@ use std::{cmp, str};
use redox_scheme::{CallerCtx, OpenResult, SchemeBlock};
use syscall::schemev2::NewFdFlags;
use syscall::{
Error, Result, Stat, EACCES, EBADF, EINVAL, EISDIR, ENOENT, ENOLCK, EOVERFLOW, MODE_DIR,
MODE_FILE, O_DIRECTORY, O_STAT,
Error, Result, Stat, EACCES, EBADF, EISDIR, ENOENT, ENOLCK, EOVERFLOW, MODE_DIR, MODE_FILE,
O_DIRECTORY, O_STAT,
};
use crate::nvme::{Nvme, NvmeNamespace};
use partitionlib::{LogicalBlockSize, PartitionTable};
#[derive(Clone)]
enum Handle {
List(Vec<u8>), // entries
Disk(u32), // disk num
@@ -271,22 +270,6 @@ impl SchemeBlock for DiskScheme {
}))
}
fn dup(&mut self, id: usize, buf: &[u8]) -> Result<Option<usize>> {
if !buf.is_empty() {
return Err(Error::new(EINVAL));
}
let new_handle = {
let handle = self.handles.get(&id).ok_or(Error::new(EBADF))?;
handle.clone()
};
let new_id = self.next_id;
self.next_id += 1;
self.handles.insert(new_id, new_handle);
Ok(Some(new_id))
}
fn fstat(&mut self, id: usize, stat: &mut Stat) -> Result<Option<usize>> {
match *self.handles.get(&id).ok_or(Error::new(EBADF))? {
Handle::List(ref data) => {
-4
View File
@@ -384,10 +384,6 @@ impl<'a> SchemeBlock for DiskScheme<'a> {
}
}
fn dup(&mut self, _old_id: usize, _buf: &[u8]) -> Result<Option<usize>> {
todo!()
}
fn close(&mut self, id: usize) -> syscall::Result<Option<usize>> {
self.handles
.remove(&id)