From 7fd1934be50a9cb7ec2988578aaa53c1f6278daf Mon Sep 17 00:00:00 2001 From: grabbit Date: Mon, 16 Feb 2026 21:38:08 +0800 Subject: [PATCH] Clarify metadata.db must be on local filesystem, not FUSE mount SQLite WAL depends on POSIX file locks and shared memory (-shm), which FUSE/network filesystems cannot support correctly. Co-Authored-By: Claude Opus 4.6 --- warpgate-prd-v3.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/warpgate-prd-v3.md b/warpgate-prd-v3.md index 80943c3..3ea791c 100644 --- a/warpgate-prd-v3.md +++ b/warpgate-prd-v3.md @@ -779,7 +779,9 @@ flowchart TD metadata.db 会被多个进程/线程并发访问:Write-back Controller、轮询线程、SD 卡导入进程、CLI 管理工具。 -**要求**:metadata.db 必须以 **WAL(Write-Ahead Logging)模式**运行: +**要求**:metadata.db 必须存放在**本地文件系统**(SSD 的 ext4/btrfs/ZFS)上,**严禁放在 rclone FUSE 挂载目录中**。SQLite WAL 依赖 POSIX 文件锁和共享内存(`-shm` 文件),FUSE/网络文件系统无法正确支持这些语义,会导致数据库损坏。 + +metadata.db 必须以 **WAL(Write-Ahead Logging)模式**运行: ```sql PRAGMA journal_mode=WAL;