diff --git a/src/config.rs b/src/config.rs index f49e8cc6..dd3377db 100644 --- a/src/config.rs +++ b/src/config.rs @@ -253,6 +253,9 @@ make_config! { extended_logging: bool, false, def, true; /// Log file path log_file: String, false, option; + + /// Enable DB WAL |> Turning this off might lead to worse performance, but might help if using bitwarden_rs on some exotic filesystems, that do not support WAL + enable_db_wal: bool, false, def, true; }, /// Yubikey settings diff --git a/src/main.rs b/src/main.rs index 45c1fbe7..db6488ff 100644 --- a/src/main.rs +++ b/src/main.rs @@ -168,11 +168,13 @@ fn check_db() { } // Turn on WAL in SQLite - use diesel::RunQueryDsl; - let connection = db::get_connection().expect("Can't conect to DB"); - diesel::sql_query("PRAGMA journal_mode=wal") - .execute(&connection) - .expect("Failed to turn on WAL"); + if CONFIG.enable_db_wal() { + use diesel::RunQueryDsl; + let connection = db::get_connection().expect("Can't conect to DB"); + diesel::sql_query("PRAGMA journal_mode=wal") + .execute(&connection) + .expect("Failed to turn on WAL"); + } } fn check_rsa_keys() {