diff --git a/snix/castore/src/directoryservice/redb.rs b/snix/castore/src/directoryservice/redb.rs index 81b70a81d..2eaa0b515 100644 --- a/snix/castore/src/directoryservice/redb.rs +++ b/snix/castore/src/directoryservice/redb.rs @@ -36,6 +36,10 @@ impl RedbDirectoryService { )); } + if let Some(parent) = path.parent() { + std::fs::create_dir_all(parent)?; + } + let db = tokio::task::spawn_blocking(|| -> Result<_, redb::Error> { let db = redb::Database::create(path)?; create_schema(&db)?; diff --git a/snix/store/src/pathinfoservice/redb.rs b/snix/store/src/pathinfoservice/redb.rs index 69d0a15ea..851145817 100644 --- a/snix/store/src/pathinfoservice/redb.rs +++ b/snix/store/src/pathinfoservice/redb.rs @@ -35,6 +35,10 @@ impl RedbPathInfoService { )); } + if let Some(parent) = path.parent() { + std::fs::create_dir_all(parent)?; + } + let db = tokio::task::spawn_blocking(|| -> Result<_, redb::Error> { let db = redb::Database::create(path)?; create_schema(&db)?;