--- 2.4.7pre2aa1/fs/dcache.c.~1~ Thu Jul 5 17:13:50 2001 +++ 2.4.7pre2aa1/fs/dcache.c Thu Jul 5 18:52:03 2001 @@ -566,7 +566,7 @@ * We should make sure we don't hold the superblock lock over * block allocations, but for now: */ - if (!(gfp_mask & __GFP_IO)) + if (!(gfp_mask & __GFP_FS)) return; if (priority) --- 2.4.7pre2aa1/fs/inode.c.~1~ Thu Jul 5 17:13:48 2001 +++ 2.4.7pre2aa1/fs/inode.c Thu Jul 5 18:52:08 2001 @@ -696,7 +696,7 @@ * want to recurse into the FS that called us * in clear_inode() and friends.. */ - if (!(gfp_mask & __GFP_IO)) + if (!(gfp_mask & __GFP_FS)) return; if (priority) --- 2.4.7pre2aa1/mm/vmscan.c.~1~ Thu Jul 5 17:13:48 2001 +++ 2.4.7pre2aa1/mm/vmscan.c Thu Jul 5 18:59:33 2001 @@ -612,7 +612,7 @@ * loads, flush out the dirty pages before we have to wait on * IO. */ - if ((CAN_DO_IO || CAN_DO_FS) && !launder_loop && free_shortage()) { + if (CAN_DO_IO && !launder_loop && free_shortage()) { launder_loop = 1; /* If we cleaned pages, never do synchronous IO. */ if (cleaned_pages)