Only commit log to disk if something was written in to it.
Without this, every write to the console results in log writes.
This commit is contained in:
parent
7f1718ca33
commit
843eecfcd0
12
log.c
12
log.c
|
@ -143,11 +143,13 @@ begin_trans(void)
|
|||
void
|
||||
commit_trans(void)
|
||||
{
|
||||
write_head(); // This causes all blocks till log.head to be commited
|
||||
install_trans(); // Install all the transactions till head
|
||||
log.lh.n = 0;
|
||||
write_head(); // Reclaim log
|
||||
|
||||
if (log.lh.n > 0) {
|
||||
write_head(); // This causes all blocks till log.head to be commited
|
||||
install_trans(); // Install all the transactions till head
|
||||
log.lh.n = 0;
|
||||
write_head(); // Reclaim log
|
||||
}
|
||||
|
||||
acquire(&log.lock);
|
||||
log.intrans = 0;
|
||||
wakeup(&log);
|
||||
|
|
Loading…
Reference in a new issue