GFS2: Make writeback more responsive to system conditions

This patch adds writeback_control to writing back the AIL
list. This means that we can then take advantage of the
information we get in ->write_inode() in order to set off
some pre-emptive writeback.

In addition, the AIL code is cleaned up a bit to make it
a bit simpler to understand.

There is still more which can usefully be done in this area,
but this is a good start at least.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
This commit is contained in:
Steven Whitehouse
2011-04-18 14:18:09 +01:00
parent f42ab08529
commit 4667a0ec32
8 changed files with 102 additions and 94 deletions

View File

@@ -74,14 +74,14 @@ static int iget_set(struct inode *inode, void *opaque)
return 0;
}
struct inode *gfs2_ilookup(struct super_block *sb, u64 no_addr)
struct inode *gfs2_ilookup(struct super_block *sb, u64 no_addr, int non_block)
{
unsigned long hash = (unsigned long)no_addr;
struct gfs2_skip_data data;
data.no_addr = no_addr;
data.skipped = 0;
data.non_block = 0;
data.non_block = non_block;
return ilookup5(sb, hash, iget_test, &data);
}