From: Hugh Dickins <hugh@veritas.com>

Three of the four BUG_ONs in delete_from_swap_cache are immediately
repeated in __delete_from_swap_cache: delete those and add the one.  But
perhaps mm/ is altogether overprovisioned with historic BUGs?

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 mm/swap_state.c |    6 +-----
 1 files changed, 1 insertion(+), 5 deletions(-)

diff -puN mm/swap_state.c~delete-from_swap_cache-bug_ons mm/swap_state.c
--- devel/mm/swap_state.c~delete-from_swap_cache-bug_ons	2005-07-08 22:40:33.000000000 -0700
+++ devel-akpm/mm/swap_state.c	2005-07-08 22:40:33.000000000 -0700
@@ -124,6 +124,7 @@ void __delete_from_swap_cache(struct pag
 	BUG_ON(!PageLocked(page));
 	BUG_ON(!PageSwapCache(page));
 	BUG_ON(PageWriteback(page));
+	BUG_ON(PagePrivate(page));
 
 	radix_tree_delete(&swapper_space.page_tree, page->private);
 	page->private = 0;
@@ -196,11 +197,6 @@ void delete_from_swap_cache(struct page 
 {
 	swp_entry_t entry;
 
-	BUG_ON(!PageSwapCache(page));
-	BUG_ON(!PageLocked(page));
-	BUG_ON(PageWriteback(page));
-	BUG_ON(PagePrivate(page));
-  
 	entry.val = page->private;
 
 	write_lock_irq(&swapper_space.tree_lock);
_