From 2b146f87789baebcbf5c880082ba9c3e3ea0507a Mon Sep 17 00:00:00 2001
From: 4lDO2 <4lDO2@protonmail.com>
Date: Wed, 12 Jun 2024 17:45:24 +0200
Subject: [PATCH] Properly pass POSITIONED new fd flag.
---
storage/ahcid/src/scheme.rs | 113 ++++++++++++--------------
storage/nvmed/src/scheme.rs | 128 ++++++++++++++----------------
storage/usbscsid/src/scheme.rs | 9 ++-
storage/virtio-blkd/src/scheme.rs | 16 ++--
4 files changed, 127 insertions(+), 139 deletions(-)
diff --git a/storage/ahcid/src/scheme.rs b/storage/ahcid/src/scheme.rs
index 224fdb3d97..8a6cc89480 100644
--- a/storage/ahcid/src/scheme.rs
+++ b/storage/ahcid/src/scheme.rs
@@ -3,11 +3,12 @@ use std::str;
use std::fmt::Write;
use driver_block::{Disk, DiskWrapper};
+use syscall::schemev2::NewFdFlags;
use syscall::{
Error, EACCES, EBADF, EINVAL, EISDIR, ENOENT, ENOLCK, EOVERFLOW, Result, Io, Stat, MODE_DIR,
MODE_FILE, O_DIRECTORY, O_STAT,
};
-use redox_scheme::SchemeBlockMut;
+use redox_scheme::{CallerCtx, OpenResult, SchemeBlockMut};
use crate::ahci::hba::HbaMem;
@@ -81,74 +82,64 @@ impl DiskScheme {
}
impl SchemeBlockMut for DiskScheme {
- fn open(&mut self, path: &str, flags: usize, uid: u32, _gid: u32) -> Result