bugcheck. It's needed - if the page had locked buffers here we'd do a lock_buffer() inside spinlock. ===================================== --- 2.4.19-pre4/mm/swap_state.c~aa-190-block_flushpage_check Tue Mar 26 23:11:36 2002 +++ 2.4.19-pre4-akpm/mm/swap_state.c Tue Mar 26 23:11:36 2002 @@ -117,7 +117,9 @@ void delete_from_swap_cache(struct page if (!PageLocked(page)) BUG(); - block_flushpage(page, 0); + if (!block_flushpage(page, 0)) + /* an anonymous page cannot have page->buffers set */ + BUG(); entry.val = page->index;