diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2011-04-18 14:18:09 +0100 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2011-04-20 09:01:37 +0100 |
commit | 4667a0ec32867865fd4deccf834594b3ea831baf (patch) | |
tree | bff74fb13700e4087972fce94e45fd69dae7939b /fs/gfs2/inode.c | |
parent | f42ab0852946c1fb5103682c5897eb3da908e4b0 (diff) |
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>
Diffstat (limited to 'fs/gfs2/inode.c')
-rw-r--r-- | fs/gfs2/inode.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 9b7b9e40073..94c3a7db111 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c @@ -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); } |