[pacman-dev] filesystem performance

eliott eliott at cactuswax.net
Mon Jan 28 11:10:20 EST 2008


sqlite also has transactions, which might be what nagy is looking for
in regard to 'power button pushed in the middle of an operation'. You
can also set an sqlite pragma to perform operations synchronously for
improved safety (might make sqlite a bit slower on writes).

historically sqlite has had a few corruption bugs. I would consider
most of them edge cases, that are largely preventable, pacman has the
benefit of single thread locking on the db, so issues with contention
and multiprocess journal rollback shouldn't be a problem.
http://www.sqlite.org/cvstrac/wiki?p=DatabaseCorruption

Also some more "how to corrupt" info (also contains remediation information):
http://www.sqlite.org/lockingv3.html#how_to_corrupt

For improved safety, pacman could open the db in write mode only when
it needs to (when run as root user), and open the db in read only mode
the rest of the time.




More information about the pacman-dev mailing list