ext4: Adjust ext4_da_writepages() to write out larger contiguous chunks
commit54088f5df9e352c41ef0f2eeb17ec9ae995ab4b3
authorTheodore Ts'o <tytso@mit.edu>
Tue, 29 Sep 2009 17:31:31 +0000 (29 13:31 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 14 Dec 2009 16:06:55 +0000 (14 08:06 -0800)
tree3f74b190e291a0896ca6109dee1f5abe41399fb3
parent0be3bd025b9893a0f2ed3d1cbeb06d7abc0e27df
ext4: Adjust ext4_da_writepages() to write out larger contiguous chunks

(cherry picked from commit 55138e0bc29c0751e2152df9ad35deea542f29b3)

Work around problems in the writeback code to force out writebacks in
larger chunks than just 4mb, which is just too small.  This also works
around limitations in the ext4 block allocator, which can't allocate
more than 2048 blocks at a time.  So we need to defeat the round-robin
characteristics of the writeback code and try to write out as many
blocks in one inode before allowing the writeback code to move on to
another inode.  We add a a new per-filesystem tunable,
max_writeback_mb_bump, which caps this to a default of 128mb per
inode.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/ext4/ext4.h
fs/ext4/inode.c
fs/ext4/super.c
include/trace/events/ext4.h