[PATCH] clear PAGECACHE_TAG_DIRTY for truncated pages

2008-02-01 Thread Fengguang Wu
for 1 hour, during which the pdflush will retry the page _at least_ once every 5s. So clear PAGECACHE_TAG_DIRTY to prevent pdflush from retrying on it. Tested-by: Joerg Platte <[EMAIL PROTECTED]> Cc: Peter Zijlstra <[EMAIL PROTECTED]> Cc: Michael Rubin <[EMAIL PROTECTED]> Si

Re: [PATCH 00/13] writeback bug fixes and simplifications take 2

2008-01-18 Thread Fengguang Wu
On Thu, Jan 17, 2008 at 11:51:51PM -0800, Michael Rubin wrote: > On Jan 15, 2008 4:36 AM, Fengguang Wu <[EMAIL PROTECTED]> wrote: > > Andrew, > > > > This patchset mainly polishes the writeback queuing policies. > > The main goals are: > > > > (1) s

Re: [PATCH 09/13] writeback: requeue_io() on redirtied inode

2008-01-16 Thread Fengguang Wu
On Wed, Jan 16, 2008 at 07:13:07PM +1100, David Chinner wrote: > On Tue, Jan 15, 2008 at 08:36:46PM +0800, Fengguang Wu wrote: > > Redirtied inodes could be seen in really fast writes. > > They should really be synced as soon as possible. > > > > redirty_tail() could de

Re: [PATCH 00/13] writeback bug fixes and simplifications take 2

2008-01-15 Thread Fengguang Wu
On Tue, Jan 15, 2008 at 10:33:01AM -0800, Michael Rubin wrote: > On Jan 15, 2008 4:36 AM, Fengguang Wu <[EMAIL PROTECTED]> wrote: > > Andrew, > > > > This patchset mainly polishes the writeback queuing policies. > > Anyone know which tree is this patched based out

[PATCH 10/13] writeback: introduce queue_dirty()

2008-01-15 Thread Fengguang Wu
Introduce queue_dirty() to enqueue a newly dirtied inode. It helps remove duplicate code. Cc: Michael Rubin <[EMAIL PROTECTED]> Cc: Peter Zijlstra <[EMAIL PROTECTED]> Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- fs/fs-writeback.c | 21 + 1

[PATCH 00/13] writeback bug fixes and simplifications take 2

2008-01-15 Thread Fengguang Wu
fs/fs-writeback.c | 121 +++--- fs/super.c |1 include/linux/fs.h |1 mm/page-writeback.c | 46 +++ 5 files changed, 72 insertions(+), 99 deletions(-) Regards, Fengguang Wu -- - To unsubscribe from this list: send the line "u

[PATCH 08/13] writeback: defer writeback on locked buffers

2008-01-15 Thread Fengguang Wu
Convert to requeue_io_wait() for case: pages skipped due to locked buffers. Cc: Michael Rubin <[EMAIL PROTECTED]> Cc: Peter Zijlstra <[EMAIL PROTECTED]> Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- fs/fs-writeback.c |2 +- 1 files changed, 1 insert

[PATCH 12/13] writeback: remove redirty_tail()

2008-01-15 Thread Fengguang Wu
Remove redirty_tail(). It's no longer used. Cc: Michael Rubin <[EMAIL PROTECTED]> Cc: Peter Zijlstra <[EMAIL PROTECTED]> Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- fs/fs-writeback.c | 24 1 files changed, 24 deletions(-) --- linux-mm

[PATCH 13/13] writeback: cleanup __sync_single_inode()

2008-01-15 Thread Fengguang Wu
Make the if-else straight in __sync_single_inode(). No behavior change. Cc: Michael Rubin <[EMAIL PROTECTED]> Cc: Peter Zijlstra <[EMAIL PROTECTED]> Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- fs/fs-writeback.c | 15 +++ 1 files changed, 7 insertio

[PATCH 09/13] writeback: requeue_io() on redirtied inode

2008-01-15 Thread Fengguang Wu
igned-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- fs/fs-writeback.c |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- linux-mm.orig/fs/fs-writeback.c +++ linux-mm/fs/fs-writeback.c @@ -294,7 +294,7 @@ __sync_single_inode(struct inode *inode, * Someone r

[PATCH 02/13] writeback: clear PAGECACHE_TAG_DIRTY for truncated page in block_write_full_page()

2008-01-15 Thread Fengguang Wu
Joerg Platte <[EMAIL PROTECTED]> Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- fs/buffer.c |2 ++ 1 files changed, 2 insertions(+) Index: linux/fs/buffer.c === --- linux.orig/fs/buffer.c +++ linux/fs/buffer.c @

[PATCH 05/13] writeback: merge duplicate code into writeback_some_pages()

2008-01-15 Thread Fengguang Wu
Peter Zijlstra <[EMAIL PROTECTED]> Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- mm/page-writeback.c | 43 +- 1 files changed, 22 insertions(+), 21 deletions(-) --- linux-mm.orig/mm/page-writeback.c +++ linux-mm/mm/page-writeback.c @@ -543

[PATCH 11/13] writeback: queue_dirty() on memory-backed bdi

2008-01-15 Thread Fengguang Wu
Replace redirty_tail() with queue_dirty() on memory backed bdi. It makes no difference - only simpler. Cc: Michael Rubin <[EMAIL PROTECTED]> Cc: Peter Zijlstra <[EMAIL PROTECTED]> Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- fs/fs-writeback.c |2 +- 1 files changed,

[PATCH 01/13] writeback: revert 2e6883bdf49abd0e7f0d9b6297fc3be7ebb2250b

2008-01-15 Thread Fengguang Wu
Revert 2e6883bdf49abd0e7f0d9b6297fc3be7ebb2250b. Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- fs/fs-writeback.c |2 -- include/linux/writeback.h |1 - mm/page-writeback.c |9 +++-- 3 files changed, 3 insertions(+), 9 deletions(-) Index: linux-mm/include

[PATCH 07/13] writeback: defer writeback on locked inode

2008-01-15 Thread Fengguang Wu
Convert to requeue_io_wait() for case: inode is locked. Cc: Michael Rubin <[EMAIL PROTECTED]> Cc: Peter Zijlstra <[EMAIL PROTECTED]> Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- fs/fs-writeback.c |7 ++- 1 files changed, 2 insertions(+), 5 deletions(-)

[PATCH 03/13] writeback: introduce writeback_control.more_io

2008-01-15 Thread Fengguang Wu
TED]> Cc: Peter Zijlstra <[EMAIL PROTECTED]> Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- fs/fs-writeback.c |6 +- include

[PATCH 06/13] writeback: defer writeback on not-all-pages-written

2008-01-15 Thread Fengguang Wu
into s_more_io_wait will be served _after_ normal inodes, hence won't stand in the way of other inodes in the next run. Cc: Michael Rubin <[EMAIL PROTECTED]> Cc: Peter Zijlstra <[EMAIL PROTECTED]> Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- f

[PATCH 04/13] writeback: introduce super_block.s_more_io_wait

2008-01-15 Thread Fengguang Wu
Cc: Peter Zijlstra <[EMAIL PROTECTED]> Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- fs/fs-writeback.c | 16 +--- fs/super.c |1 + include/linux/fs.h |1 + 3 files changed, 15 insertions(+), 3 deletions(-) --- linux-mm.orig/fs/fs-writeback.c +++ linux

Re: [patch 06/19] Use page_cache_xxx in mm/filemap_xip.c

2007-11-29 Thread Fengguang Wu
On Wed, Nov 28, 2007 at 05:10:58PM -0800, Christoph Lameter wrote: > Use page_cache_xxx in mm/filemap_xip.c > > Signed-off-by: Christoph Lameter <[EMAIL PROTECTED]> > --- > mm/filemap_xip.c | 28 ++-- > 1 file changed, 14 insertions(+), 14 deletions(-) > > Index: mm/mm/

Re: [patch 01/19] Define functions for page cache handling

2007-11-29 Thread Fengguang Wu
On Wed, Nov 28, 2007 at 05:10:53PM -0800, Christoph Lameter wrote: > +static inline loff_t page_cache_mask(struct address_space *a) > +{ > + return (loff_t)PAGE_MASK; > +} A tiny question: Why choose loff_t instead of 'unsigned long'? It's not obvious because page_cache_mask() is not referenc

Re: [patch 19/19] Use page_cache_xxx in drivers/block/rd.c

2007-11-29 Thread Fengguang Wu
On Wed, Nov 28, 2007 at 05:11:11PM -0800, Christoph Lameter wrote: > Use page_cache_xxx in drivers/block/rd.c > > Signed-off-by: Christoph Lameter <[EMAIL PROTECTED]> > --- > drivers/block/rd.c |8 > 1 file changed, 4 insertions(+), 4 deletions(-) > > Index: mm/drivers/block/rd.c >

Re: writeout stalls in current -git

2007-11-06 Thread Fengguang Wu
] [] sys_close+0x9f/0x100 > [ 632.85] [] system_call+0x7e/0x83 > [ 632.85] > [ 662.18] mm/page-writeback.c 676 wb_kupdate: pdflush(285) 73045 > global 39157 0 0 wc __ tw 0 sk 0 > [note] emerge resumed > [ 664.03] SysRq : HELP : loglevel0-8 reBoot tErm Full

Re: writeout stalls in current -git

2007-11-02 Thread Fengguang Wu
On Fri, Nov 02, 2007 at 11:15:32AM +0100, Peter Zijlstra wrote: > On Fri, 2007-11-02 at 10:21 +0800, Fengguang Wu wrote: > > > Interestingly, no background_writeout() appears, but only > > balance_dirty_pages() and wb_kupdate. Obviously wb_kupdate won't > > bloc

Re: writeout stalls in current -git

2007-11-01 Thread Fengguang Wu
On Fri, Nov 02, 2007 at 08:42:05AM +0100, Torsten Kaiser wrote: > The Subject is still missleading, I'm using 2.6.23-mm1. > > On 11/2/07, Fengguang Wu <[EMAIL PROTECTED]> wrote: > > On Thu, Nov 01, 2007 at 07:20:51PM +0100, Torsten Kaiser wrote: > > > On 11/1

Re: writeout stalls in current -git

2007-11-01 Thread Fengguang Wu
On Thu, Nov 01, 2007 at 08:00:10PM +0100, Torsten Kaiser wrote: > On 11/1/07, Torsten Kaiser <[EMAIL PROTECTED]> wrote: > > On 11/1/07, Fengguang Wu <[EMAIL PROTECTED]> wrote: > > > Thank you. Maybe we can start by the applied debug patch :-) > > > >

writeout stalls in current -git

2007-11-01 Thread Fengguang Wu
On Thu, Nov 01, 2007 at 07:20:51PM +0100, Torsten Kaiser wrote: > On 11/1/07, Fengguang Wu <[EMAIL PROTECTED]> wrote: > > On Wed, Oct 31, 2007 at 04:22:10PM +0100, Torsten Kaiser wrote: > > > Since 2.6.23-mm1 I also experience strange hangs during heavy writeouts. > >

Re: + reiserfs-dont-drop-pg_dirty-when-releasing-sub-page-sized-dirty-file .patch added to -mm tree

2007-10-24 Thread Fengguang Wu
--- > Subject: reiserfs: don't drop PG_dirty when releasing sub-page-sized dirty > file > From: Fengguang Wu <[EMAIL PROTECTED]> > > This is not a new problem in 2.6.23-git17. 2.6.22/2.6.23 is buggy in the > same way. > > Reiserfs could accumulate dirty sub

Re: [PATCH] reiserfs: don't drop PG_dirty when releasing sub-page-sized dirty file

2007-10-23 Thread Fengguang Wu
On Tue, Oct 23, 2007 at 10:10:53AM -0400, Chris Mason wrote: > On Tue, 23 Oct 2007 19:56:20 +0800 > Fengguang Wu <[EMAIL PROTECTED]> wrote: > > > On Tue, Oct 23, 2007 at 12:07:07PM +0200, Peter Zijlstra wrote: > > > [ adding reiserfs devs to the CC ] > > >

Re: [PATCH] reiserfs: don't drop PG_dirty when releasing sub-page-sized dirty file

2007-10-23 Thread Fengguang Wu
76 cancelled_write_bytes: 4096 //Question: the 'write_bytes' is a bit more than expected ;-) Cc: Maxim Levitsky <[EMAIL PROTECTED]> Cc: Peter Zijlstra <[EMAIL PROTECTED]> Cc: Jeff Mahoney <[EMAIL

Re: [PATCH 0/6] writeback time order/delay fixes take 3

2007-08-29 Thread Fengguang Wu
On Wed, Aug 29, 2007 at 02:33:08AM +1000, David Chinner wrote: > On Tue, Aug 28, 2007 at 11:08:20AM -0400, Chris Mason wrote: > > On Wed, 29 Aug 2007 00:55:30 +1000 > > David Chinner <[EMAIL PROTECTED]> wrote: > > > On Fri, Aug 24, 2007 at 09:55:04PM +0800, Fengguang

Re: [PATCH 0/6] writeback time order/delay fixes take 3

2007-08-24 Thread Fengguang Wu
On Thu, Aug 23, 2007 at 12:33:06PM +1000, David Chinner wrote: > On Wed, Aug 22, 2007 at 09:18:41AM +0800, Fengguang Wu wrote: > > On Tue, Aug 21, 2007 at 08:23:14PM -0400, Chris Mason wrote: > > Notes: > > (1) I'm not sure inode number is correlated to disk location in

Re: [PATCH 0/6] writeback time order/delay fixes take 3

2007-08-24 Thread Fengguang Wu
On Wed, Aug 22, 2007 at 08:42:01AM -0400, Chris Mason wrote: > > My vague idea is to > > - keep the s_io/s_more_io as a FIFO/cyclic writeback dispatching > > queue. > > - convert s_dirty to some radix-tree/rbtree based data structure. > > It would have dual functions: delayed-writeback and > > cl

Re: [PATCH 0/6] writeback time order/delay fixes take 3

2007-08-24 Thread Fengguang Wu
On Thu, Aug 23, 2007 at 08:13:41AM -0400, Chris Mason wrote: > On Thu, 23 Aug 2007 12:47:23 +1000 > David Chinner <[EMAIL PROTECTED]> wrote: > > > On Wed, Aug 22, 2007 at 08:42:01AM -0400, Chris Mason wrote: > > > I think we should assume a full scan of s_dirty is impossible in the > > > presence

Re: [PATCH 0/6] writeback time order/delay fixes take 3

2007-08-21 Thread Fengguang Wu
On Tue, Aug 21, 2007 at 08:23:14PM -0400, Chris Mason wrote: > On Sun, 12 Aug 2007 17:11:20 +0800 > Fengguang Wu <[EMAIL PROTECTED]> wrote: > > > Andrew and Ken, > > > > Here are some more experiments on the writeback stuff. > > Comments are highly we

Re: [PATCH 3/6] writeback: remove pages_skipped accounting in __block_write_full_page()

2007-08-17 Thread Fengguang Wu
On Mon, Aug 13, 2007 at 06:30:00PM +0800, Fengguang Wu wrote: > > On Sun, Aug 12, 2007 at 05:11:23PM +0800, Fengguang Wu wrote: > > > Miklos Szeredi <[EMAIL PROTECTED]> and me identified a writeback bug: > > > Basicly they are > > > - during the dd: ~16M &g

Re: [PATCH 3/6] writeback: remove pages_skipped accounting in __block_write_full_page()

2007-08-13 Thread Fengguang Wu
et a chance to look at this for a week... I guess as long as the skipped page no longer has dirty bit set both as a page flag and a radix tree tag(i.e. has been put to io by someone else), it is OK to not increase wbc->pages_skipped. > On Sun, Aug 12, 2007 at 05:11:23PM +0800, Fengg

[PATCH 4/6] check dirty inode list

2007-08-12 Thread Fengguang Wu
From: Andrew Morton <[EMAIL PROTECTED]> The per-superblock dirty-inode list super_block.s_dirty is supposed to be sorted in reverse order of each inode's time-of-first-dirtying. This is so that the kupdate function can avoid having to walk all the dirty inodes on the list: it terminates the sear

[PATCH 1/6] writeback: fix time ordering of the per superblock inode lists 8

2007-08-12 Thread Fengguang Wu
the line list_splice_init(&sb->s_more_io, &sb->s_io); is also moved to queue_io(). Otherwise when there are big dirtied files, s_io never becomes empty, preventing new expired inodes to get in. Cc: Ken Chen <[EMAIL PROTECTED]> Cc: Andrew Morton <[EMAIL PROTECTED]> S

[PATCH 0/6] writeback time order/delay fixes take 3

2007-08-12 Thread Fengguang Wu
Andrew and Ken, Here are some more experiments on the writeback stuff. Comments are highly welcome~ writeback fixes: [PATCH 1/6] writeback: fix time ordering of the per superblock inode lists 8 [PATCH 2/6] writeback: fix ntfs with sb_has_dirty_inodes() [PATCH 3/6] writeba

[PATCH 3/6] writeback: remove pages_skipped accounting in __block_write_full_page()

2007-08-12 Thread Fengguang Wu
ock_write_full_page() is virtually doing nothing for the whole dirty file. Isn't it abnormal? Who did the actual write back for us? The jounal? How to fix it? Any suggestions? Thank you. Cc: Ken Chen <[EMAIL PROTECTED]> Cc: Andrew Morton <[EMAIL PROTECTED]> Signed-off-by: Fengguang

[PATCH 5/6] prevent time-ordering warnings

2007-08-12 Thread Fengguang Wu
Just to make the inode list time ordering check logic comfortable. Otherwise meaningless. Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- fs/fs-writeback.c |9 + 1 file changed, 1 insertion(+), 8 deletions(-) --- linux-2.6.23-rc2-mm2.orig/fs/fs-writeback.c +++ linux-2.6.

[PATCH 2/6] writeback: fix ntfs with sb_has_dirty_inodes()

2007-08-12 Thread Fengguang Wu
NTFS's if-condition on dirty inodes is not complete. Fix it with sb_has_dirty_inodes(). Cc: Anton Altaparmakov <[EMAIL PROTECTED]> Cc: Ken Chen <[EMAIL PROTECTED]> Cc: Andrew Morton <[EMAIL PROTECTED]> Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- -

[PATCH 6/6] track redirty_tail() calls

2007-08-12 Thread Fengguang Wu
It helps a lot to know how redirty_tail() are called. Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- fs/fs-writeback.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) --- linux-2.6.23-rc2-mm2.orig/fs/fs-writeback.c +++ linux-2.6.23-rc2-mm2/fs/fs-writeback.c @@

Re: [PATCH 0/2] writeback dirty inodes fixes

2007-08-10 Thread Fengguang Wu
On Sat, Aug 11, 2007 at 02:02:02PM +0800, Fengguang Wu wrote: > Andrew, > > Now the patches are simplified and rebased to 2.6.23-rc2-mm2. > > The following two patches should be put immediately after > writeback-fix-periodic-superblock-dirty-inode-flushing.patch: > &

[PATCH 1/2] writeback: fix time ordering of the per superblock inode lists 8

2007-08-10 Thread Fengguang Wu
Andrew Morton <[EMAIL PROTECTED]> Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- fs/fs-writeback.c | 40 ++-- 1 file changed, 22 insertions(+), 18 deletions(-) --- linux-2.6.23-rc2-mm2.orig/fs/fs-writeback.c +++ linux-2.6.23-rc2-mm2/fs/fs-wri

[PATCH 2/2] writeback: fix ntfs with sb_has_dirty_inodes()

2007-08-10 Thread Fengguang Wu
NTFS's if-condition on dirty inodes is not complete. Fix it with sb_has_dirty_inodes(). Cc: Anton Altaparmakov <[EMAIL PROTECTED]> Cc: Ken Chen <[EMAIL PROTECTED]> Cc: Andrew Morton <[EMAIL PROTECTED]> Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- -

[PATCH 0/2] writeback dirty inodes fixes

2007-08-10 Thread Fengguang Wu
Andrew, Now the patches are simplified and rebased to 2.6.23-rc2-mm2. The following two patches should be put immediately after writeback-fix-periodic-superblock-dirty-inode-flushing.patch: writeback: fix time ordering of the per superblock inode lists 8 writeback: fix ntfs with sb_has_dirt

Re: [PATCH 2/4] writeback: 3-queue based writeback schedule

2007-08-10 Thread Fengguang Wu
On Sat, Aug 11, 2007 at 12:47:15AM +0800, Fengguang Wu wrote: > In fact s_more_io is no longer necessary. We end up with a priority Ah sorry, s_more_io is still needed to keep the time-ordering. I was thinking of schedule fairness, in which sense only one cyclic list will be sufficient. -

Re: [PATCH 2/4] writeback: 3-queue based writeback schedule

2007-08-10 Thread Fengguang Wu
On Fri, Aug 10, 2007 at 02:34:14PM +0800, Fengguang Wu wrote: > Properly manage the 3 queues of sb->s_dirty/s_io/s_more_io so that > - time-ordering of dirtied_when can be easily maintained > - writeback can continue from where previous run left out > > The majority

[PATCH 2/4] writeback: 3-queue based writeback schedule

2007-08-09 Thread Fengguang Wu
s never changed in other cases. - time-ordering thus can be simply ensured while moving inodes between lists, since (time order == enqueue order) Cc: Ken Chen <[EMAIL PROTECTED]> Cc: Andrew Morton <[EMAIL PROTECTED]> Signed-off-by: Fengguang Wu <[EM

[PATCH 3/4] writeback: function renames and cleanups

2007-08-09 Thread Fengguang Wu
Two function renames: - rename redirty_tail() to queue_dirty_inode() - rename requeue_io() to queue_for_more_io() Also some code cleanups on fs-writeback.c. No behavior changes. Cc: Ken Chen <[EMAIL PROTECTED]> Cc: Andrew Morton <[EMAIL PROTECTED]> Signed-off-by:

[PATCH 1/4] writeback: check time-ordering of s_io and s_more_io

2007-08-09 Thread Fengguang Wu
gt; Cc: Andrew Morton <[EMAIL PROTECTED]> Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- fs/fs-writeback.c | 37 +++-- 1 file changed, 31 insertions(+), 6 deletions(-) --- linux-2.6.23-rc1-mm2.orig/fs/fs-writeback.c +++ linux-2.6.23-rc1-mm2/f

[PATCH 4/4] writeback: fix ntfs with sb_has_dirty_inodes()

2007-08-09 Thread Fengguang Wu
NTFS's if-condition on dirty inodes is not complete. Fix it with sb_has_dirty_inodes(). Cc: Anton Altaparmakov <[EMAIL PROTECTED]> Cc: Ken Chen <[EMAIL PROTECTED]> Cc: Andrew Morton <[EMAIL PROTECTED]> Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]> --- --- linu

[PATCH 0/4] [RFC][PATCH] fs-writeback: redefining the dirty inode queues

2007-08-09 Thread Fengguang Wu
Andrew, I'd like to propose a cleaner way of using the s_dirty, s_io, s_more_io queues for the writeback of dirty inodes. The basic idea is to clearly define the function of the queues, especially to decouple s_diry from s_io/s_more_io. The details are in the changelog of patch 2. The patches ar

Re: [patch 0/9] buffered write deadlock fix

2007-02-03 Thread Fengguang Wu
On Fri, Feb 02, 2007 at 03:52:32PM -0800, Andrew Morton wrote: > Bugfixes come first, so I will drop readahead and fsaio and git-block to get > this work completed if needed - please work agaisnt mainline. OK with readahead. There are too much fixes in the series. I'd like to fold them up and up