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;