From f5273c1fd38dda2fafc09457bae6b9f9a753d58b Mon Sep 17 00:00:00 2001 From: ryan Date: Sun, 10 Aug 2025 21:48:20 -0400 Subject: [PATCH] replace syscall::mkdir() with std::fs::create_dir_all() --- crates/nit/src/system/mod.rs | 5 ++++- crates/nit/src/system/syscall.rs | 15 --------------- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/crates/nit/src/system/mod.rs b/crates/nit/src/system/mod.rs index d85ca1c..33bc555 100644 --- a/crates/nit/src/system/mod.rs +++ b/crates/nit/src/system/mod.rs @@ -81,7 +81,10 @@ impl Mount { "Making directory: {target}", target = self.target.display() )); - syscall::mkdir(&self.target)?; + std::fs::create_dir_all(&self.target).context(format_args!( + "could not create directory: {target}", + target = self.target.display() + ))?; } dmesg(format!( diff --git a/crates/nit/src/system/syscall.rs b/crates/nit/src/system/syscall.rs index 74cc0d9..72dc32d 100644 --- a/crates/nit/src/system/syscall.rs +++ b/crates/nit/src/system/syscall.rs @@ -89,21 +89,6 @@ pub fn mount( } } -pub fn mkdir(path: impl AsRef) -> Result<()> { - let path = path.as_ref(); - let path_cs = CString::new(path.as_os_str().as_encoded_bytes()) - .context(format_args!("bad path: {path}", path = path.display()))?; - - match unsafe { libc::mkdir(path_cs.as_ptr(), 0o755) } { - 0 => Ok(()), - -1 => ctx_os_error(format_args!( - "error calling mkdir({path}, 0o755)", - path = path.display() - )), - n => unreachable!("mount() syscall returned bad value: {n}"), - } -} - pub fn freopen(path: impl AsRef, mode: impl AsRef, fd: &impl AsRawFd) -> Result<()> { let path = path.as_ref(); let mode = mode.as_ref();