From 8e609804b9e8e9aa18b3514bd59f5556dd0b49b0 Mon Sep 17 00:00:00 2001 From: Mai Date: Tue, 5 Aug 2025 00:14:40 +0300 Subject: [PATCH] fix(snix/castore,snix/store): Create parent directory when creating redb services Change-Id: I0b3083cbbb865d4b724d2b30305c10f2a779bce4 Reviewed-on: https://cl.snix.dev/c/snix/+/30646 Tested-by: besadii Reviewed-by: Florian Klink --- snix/castore/src/directoryservice/redb.rs | 4 ++++ snix/store/src/pathinfoservice/redb.rs | 4 ++++ 2 files changed, 8 insertions(+) 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)?;