The ClearPageDirty() in there is wrong - it doesn't adjust the VM's dirty memory accounting. The system thinks it's full of dirty memory and stops. 25-akpm/fs/reiserfs/tail_conversion.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN fs/reiserfs/tail_conversion.c~reiserfs-dirty-memory-fix fs/reiserfs/tail_conversion.c --- 25/fs/reiserfs/tail_conversion.c~reiserfs-dirty-memory-fix Mon Jul 7 17:04:36 2003 +++ 25-akpm/fs/reiserfs/tail_conversion.c Mon Jul 7 17:04:36 2003 @@ -191,7 +191,7 @@ unmap_buffers(struct page *page, loff_t bh = next ; } while (bh != head) ; if ( PAGE_SIZE == bh->b_size ) { - ClearPageDirty(page); + clear_page_dirty(page); } } } _