From 5823a7de6672d529d0c765d39f1747e320b18035 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Sat, 29 Nov 2025 16:43:46 +0300 Subject: [PATCH] Disable K/V DB operation on non-immediate_commit pools (unsafe because of broken CAS) --- src/kv/kv_db.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/kv/kv_db.cpp b/src/kv/kv_db.cpp index 095e9feb..04384fb0 100644 --- a/src/kv/kv_db.cpp +++ b/src/kv/kv_db.cpp @@ -530,6 +530,12 @@ void kv_db_t::open(inode_t inode_id, json11::Json cfg, std::function } this->inode_id = inode_id; this->immediate_commit = cli->get_immediate_commit(inode_id); + if (!this->immediate_commit) + { + // FIXME: CAS is unusable without immediate_commit at the moment. Fix it + cb(-EINVAL); + return; + } this->ino_block_size = pool_cfg.data_block_size * pg_data_size; this->kv_block_size = kv_block_size; this->next_free = 0;