nilfs2: separate wait function from nilfs_segctor_write
authorRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Sun, 29 Nov 2009 14:03:04 +0000 (23:03 +0900)
committerRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Mon, 30 Nov 2009 12:17:52 +0000 (21:17 +0900)
commita694291a6211537189c6080f77f63cdabfc9b63e
treeec23d36fc493eeaaedd72f54187652f9df3b4819
parente29df395bc6d2d0c89b3d8a5939a24b1b43c2fb6
nilfs2: separate wait function from nilfs_segctor_write

This separates wait function for submitted logs from the write
function nilfs_segctor_write().  A new list of segment buffers
"sc_write_logs" is added to hold logs under writing, and double
buffering is partially applied to hide io latency.

At this point, the double buffering is disabled for blocksize <
pagesize because page dirty flag is turned off during write and dirty
buffers are not properly collected for pages crossing over segments.

To receive full benefit of the double buffering, further refinement is
needed to move the io wait outside the lock section of log writer.

Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
fs/nilfs2/segbuf.c
fs/nilfs2/segbuf.h
fs/nilfs2/segment.c
fs/nilfs2/segment.h