diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2011-04-18 09:18:09 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2011-04-20 04:01:37 -0400 |
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 9b7b9e40073b..94c3a7db1116 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c | |||
@@ -74,14 +74,14 @@ static int iget_set(struct inode *inode, void *opaque) | |||
74 | return 0; | 74 | return 0; |
75 | } | 75 | } |
76 | 76 | ||
77 | struct inode *gfs2_ilookup(struct super_block *sb, u64 no_addr) | 77 | struct inode *gfs2_ilookup(struct super_block *sb, u64 no_addr, int non_block) |
78 | { | 78 | { |
79 | unsigned long hash = (unsigned long)no_addr; | 79 | unsigned long hash = (unsigned long)no_addr; |
80 | struct gfs2_skip_data data; | 80 | struct gfs2_skip_data data; |
81 | 81 | ||
82 | data.no_addr = no_addr; | 82 | data.no_addr = no_addr; |
83 | data.skipped = 0; | 83 | data.skipped = 0; |
84 | data.non_block = 0; | 84 | data.non_block = non_block; |
85 | return ilookup5(sb, hash, iget_test, &data); | 85 | return ilookup5(sb, hash, iget_test, &data); |
86 | } | 86 | } |
87 | 87 | ||