ext2 filesystem defines its migrate_page method, which passes migrate_page_buffer() to generic_migrate_page(). migrate_page_buffer() can migrate a buffer-attached page without writeback I/O. Signed-off-by: Hirokazu Takahashi Signed-off-by: Dave Hansen --- memhotplug-dave/fs/ext2/inode.c | 9 +++++++++ 1 files changed, 9 insertions(+) diff -puN fs/ext2/inode.c~AA-PM-21-nowriteback-ext2 fs/ext2/inode.c --- memhotplug/fs/ext2/inode.c~AA-PM-21-nowriteback-ext2 2005-07-28 13:50:52.000000000 -0700 +++ memhotplug-dave/fs/ext2/inode.c 2005-07-28 13:50:52.000000000 -0700 @@ -31,6 +31,7 @@ #include #include #include +#include #include "ext2.h" #include "acl.h" #include "xip.h" @@ -690,6 +691,12 @@ ext2_writepages(struct address_space *ma return mpage_writepages(mapping, wbc, ext2_get_block); } +static int +ext2_migrate_page(struct page *from, struct page *to) +{ + return generic_migrate_page(from, to, migrate_page_buffer); +} + struct address_space_operations ext2_aops = { .readpage = ext2_readpage, .readpages = ext2_readpages, @@ -700,6 +707,7 @@ struct address_space_operations ext2_aop .bmap = ext2_bmap, .direct_IO = ext2_direct_IO, .writepages = ext2_writepages, + .migrate_page = ext2_migrate_page, }; struct address_space_operations ext2_aops_xip = { @@ -717,6 +725,7 @@ struct address_space_operations ext2_nob .bmap = ext2_bmap, .direct_IO = ext2_direct_IO, .writepages = ext2_writepages, + .migrate_page = ext2_migrate_page, }; /* _