diff --git a/core/io/generic.rs b/core/io/generic.rs index 0c35eaf52..17f51d792 100644 --- a/core/io/generic.rs +++ b/core/io/generic.rs @@ -15,7 +15,11 @@ impl GenericIO { impl IO for GenericIO { fn open_file(&self, path: &str, flags: OpenFlags, _direct: bool) -> Result> { trace!("open_file(path = {})", path); - let file = std::fs::File::open(path)?; + let file = std::fs::OpenOptions::new() + .read(true) + .write(true) + .create(matches!(flags, OpenFlags::Create)) + .open(path)?; Ok(Rc::new(GenericFile { file: RefCell::new(file), }))