提交 843eecfc 创建 作者: Austin Clements's avatar Austin Clements

Only commit log to disk if something was written in to it.

Without this, every write to the console results in log writes.
上级 7f1718ca
......@@ -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);
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论