aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugh Dickins <hugh@veritas.com>2005-09-03 18:54:43 -0400
committerLinus Torvalds <torvalds@evo.osdl.org>2005-09-05 03:05:42 -0400
commit3279ffd97f1b3962e40d3c5f09495ef8320b180b (patch)
tree56c72808c731a73fd50f3df37fd3af770812a7ee
parentdae06ac43d56d23e50a2300d511b32a9e38cd657 (diff)
[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>
-rw-r--r--mm/swap_state.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/mm/swap_state.c b/mm/swap_state.c
index 4f251775ef90..029e56eb5e77 100644
--- a/mm/swap_state.c
+++ b/mm/swap_state.c
@@ -124,6 +124,7 @@ void __delete_from_swap_cache(struct page *page)
124 BUG_ON(!PageLocked(page)); 124 BUG_ON(!PageLocked(page));
125 BUG_ON(!PageSwapCache(page)); 125 BUG_ON(!PageSwapCache(page));
126 BUG_ON(PageWriteback(page)); 126 BUG_ON(PageWriteback(page));
127 BUG_ON(PagePrivate(page));
127 128
128 radix_tree_delete(&swapper_space.page_tree, page->private); 129 radix_tree_delete(&swapper_space.page_tree, page->private);
129 page->private = 0; 130 page->private = 0;
@@ -196,11 +197,6 @@ void delete_from_swap_cache(struct page *page)
196{ 197{
197 swp_entry_t entry; 198 swp_entry_t entry;
198 199
199 BUG_ON(!PageSwapCache(page));
200 BUG_ON(!PageLocked(page));
201 BUG_ON(PageWriteback(page));
202 BUG_ON(PagePrivate(page));
203
204 entry.val = page->private; 200 entry.val = page->private;
205 201
206 write_lock_irq(&swapper_space.tree_lock); 202 write_lock_irq(&swapper_space.tree_lock);