Răsfoiți Sursa

[PATCH] delete from_swap_cache BUG_ONs

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>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Hugh Dickins 20 ani în urmă
părinte
comite
3279ffd97f
1 a modificat fișierele cu 1 adăugiri și 5 ștergeri
  1. 1 5
      mm/swap_state.c

+ 1 - 5
mm/swap_state.c

@@ -124,6 +124,7 @@ void __delete_from_swap_cache(struct page *page)
 	BUG_ON(!PageLocked(page));
 	BUG_ON(!PageLocked(page));
 	BUG_ON(!PageSwapCache(page));
 	BUG_ON(!PageSwapCache(page));
 	BUG_ON(PageWriteback(page));
 	BUG_ON(PageWriteback(page));
+	BUG_ON(PagePrivate(page));
 
 
 	radix_tree_delete(&swapper_space.page_tree, page->private);
 	radix_tree_delete(&swapper_space.page_tree, page->private);
 	page->private = 0;
 	page->private = 0;
@@ -196,11 +197,6 @@ void delete_from_swap_cache(struct page *page)
 {
 {
 	swp_entry_t entry;
 	swp_entry_t entry;
 
 
-	BUG_ON(!PageSwapCache(page));
-	BUG_ON(!PageLocked(page));
-	BUG_ON(PageWriteback(page));
-	BUG_ON(PagePrivate(page));
-  
 	entry.val = page->private;
 	entry.val = page->private;
 
 
 	write_lock_irq(&swapper_space.tree_lock);
 	write_lock_irq(&swapper_space.tree_lock);