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