diff options
author | Hugh Dickins <hugh@veritas.com> | 2005-09-03 18:54:43 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@evo.osdl.org> | 2005-09-05 03:05:42 -0400 |
commit | 3279ffd97f1b3962e40d3c5f09495ef8320b180b (patch) | |
tree | 56c72808c731a73fd50f3df37fd3af770812a7ee /mm | |
parent | dae06ac43d56d23e50a2300d511b32a9e38cd657 (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>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/swap_state.c | 6 |
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); |