From 3ede457c5e0e6ee2512a19482c2f6aaf7a0fc118 Mon Sep 17 00:00:00 2001 From: Floris Bos Date: Thu, 11 Sep 2014 17:43:32 +0200 Subject: [PATCH] sqlite: add option to disable fsync For use-cases in which performance is more important than data integrity. Signed-off-by: Floris Bos Reviewed-by: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- package/sqlite/Config.in | 9 +++++++++ package/sqlite/sqlite.mk | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/package/sqlite/Config.in b/package/sqlite/Config.in index fe6cc08967..7ea9eb15b8 100644 --- a/package/sqlite/Config.in +++ b/package/sqlite/Config.in @@ -53,4 +53,13 @@ config BR2_PACKAGE_SQLITE_SECURE_DELETE http://www.sqlite.org/pragma.html#pragma_secure_delete for additional information. +config BR2_PACKAGE_SQLITE_NO_SYNC + bool "Disable fsync" + help + By default SQLite forces all database transactions to storage + immediately using fsync() to protect against data loss in case + of power failure. + This option turns this behavior off resulting in higher performance + especially when using slow flash storage. + endif diff --git a/package/sqlite/sqlite.mk b/package/sqlite/sqlite.mk index e30b7109b3..d960ce8424 100644 --- a/package/sqlite/sqlite.mk +++ b/package/sqlite/sqlite.mk @@ -33,6 +33,10 @@ ifeq ($(BR2_PACKAGE_SQLITE_SECURE_DELETE),y) SQLITE_CFLAGS += -DSQLITE_SECURE_DELETE endif +ifeq ($(BR2_PACKAGE_SQLITE_NO_SYNC),y) +SQLITE_CFLAGS += -DSQLITE_NO_SYNC +endif + SQLITE_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) $(SQLITE_CFLAGS)" SQLITE_CONF_OPT = \ -- 2.30.2