--- 2.3.99-pre6-pre3/mm/filemap.c Tue Apr 18 16:11:42 2000 +++ /tmp/filemap.c Wed Apr 19 18:14:31 2000 @@ -467,8 +467,8 @@ struct page *alias; unsigned long flags; - flags = page->flags & ~((1 << PG_uptodate) | (1 << PG_error) | (1 << PG_dirty)); - page->flags = flags | (1 << PG_locked) | (1 << PG_referenced); + flags = page->flags & ~((1 << PG_uptodate) | (1 << PG_error) | (1 << PG_dirty) | (1 << PG_referenced)); + page->flags = flags | (1 << PG_locked); get_page(page); page->index = offset; add_page_to_inode_queue(mapping, page); --- 2.3.99-pre6-pre3/fs/buffer.c Mon Apr 3 03:21:58 2000 +++ /tmp/buffer.c Wed Apr 19 18:18:00 2000 @@ -2105,6 +2105,7 @@ spin_unlock(&free_list[isize].lock); page->buffers = bh; + page->flags &= ~(1 << PG_referenced); lru_cache_add(page); atomic_inc(&buffermem_pages); return 1;