block_write_full_page: switch synchronous writes to use WRITE_SYNC_PLUG
authorTheodore Ts'o <tytso@mit.edu>
Tue, 7 Apr 2009 22:12:43 +0000 (18:12 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 8 Apr 2009 17:15:09 +0000 (13:15 -0400)
commit6e34eeddf7deec1444bbddab533f03f520d8458c
treea0e189c329a15363073eab257a3f704cf778107e
parent577c9c456f0e1371cbade38eaf91ae8e8a308555
block_write_full_page: switch synchronous writes to use WRITE_SYNC_PLUG

Now that we have a distinction between WRITE_SYNC and WRITE_SYNC_PLUG,
use WRITE_SYNC_PLUG in __block_write_full_page() to avoid unplugging
the block device I/O queue between each page that gets flushed out.

Otherwise, when we run sync() or fsync() and we need to write out a
large number of pages, the block device queue will get unplugged
between for every page that is flushed out, which will be a pretty
serious performance regression caused by commit a64c8610.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/buffer.c