|
@@ -394,11 +394,12 @@ invalidate_complete_page2(struct address_space *mapping, struct page *page)
|
|
if (page_has_private(page) && !try_to_release_page(page, GFP_KERNEL))
|
|
if (page_has_private(page) && !try_to_release_page(page, GFP_KERNEL))
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
|
|
+ clear_page_mlock(page);
|
|
|
|
+
|
|
spin_lock_irq(&mapping->tree_lock);
|
|
spin_lock_irq(&mapping->tree_lock);
|
|
if (PageDirty(page))
|
|
if (PageDirty(page))
|
|
goto failed;
|
|
goto failed;
|
|
|
|
|
|
- clear_page_mlock(page);
|
|
|
|
BUG_ON(page_has_private(page));
|
|
BUG_ON(page_has_private(page));
|
|
__delete_from_page_cache(page);
|
|
__delete_from_page_cache(page);
|
|
spin_unlock_irq(&mapping->tree_lock);
|
|
spin_unlock_irq(&mapping->tree_lock);
|