DESC Implement lingering transactions. EDESC This patch implement lingering transactions. It allows you to trade performance with recovery time, by using a different approach to journaling. Normally, you would open the file O_SYNC, and when commiting a transaction data gets written twice: once in the transaction file, and once in the real file. Then, after the last write, the transaction file is removed. What this patch do is allow you to avoid opening the file O_SYNC, and thus writing the data synchronously only once, speeding up operations. The OS will do the writeouts asynchronous when it think the time is right. In this mode, the transaction file is written synchronously, but instead of then writing to the real file with O_SYNC and then removing the transaction file, we do the write _without_ O_SYNC and leave the transaction file. In case of a crash, the transaction files will still be there for recovery, so there's no risk of losing data.