fix(open): use FILETABLE-aware openat_into_posix to keep fd tables in sync

This commit is contained in:
Red Bear OS
2026-07-14 08:30:50 +09:00
parent d2648af84a
commit aeabac730b
+2 -8
View File
@@ -610,13 +610,8 @@ pub fn open<T: AsRef<str>>(path: T, flags: usize) -> Result<usize> {
let _siglock = tmp_disable_signals();
let ns_fd = crate::current_namespace_fd()?;
let posix_fd = syscall::openat(
ns_fd,
path.as_ref(),
flags,
0,
);
let fcntl_flags = flags & syscall::O_FCNTL_MASK;
let posix_fd = openat_into_posix(ns_fd, path.as_ref(), flags, fcntl_flags);
if let Err(ref e) = posix_fd {
let p = path.as_ref();
let mut buf = [0u8; 256];
@@ -640,7 +635,6 @@ pub fn open<T: AsRef<str>>(path: T, flags: usize) -> Result<usize> {
let _ = syscall::write(2, &buf[..len]);
}
let posix_fd = posix_fd?;
register_external_fd(posix_fd)?;
Ok(posix_fd)
}