SQLite Forum

Process vs OS level durability (sync=NORMAL, WAL)
Login
> Why is it that durability is maintained over process crashes, but not OS crashes?

The commit record has be written to the filesystem, but fsync() was not called, so that record might not have made it to stable storage.  If the OS crashes before the record gets to stable storage, the transaction will be rolled back the first time the database is opened after restart.