From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Ok, its just the revert of the page_cache_release delta.
set_page_dirty(page);
mm->rss--;
+ page_cache_release(page);
ret = SWAP_SUCCESS;
out_unlock:
if (ret == SWAP_SUCCESS) {
if (page_test_and_clear_dirty(page))
set_page_dirty(page);
- page_cache_release(page);
page->pte.direct = 0;
ClearPageDirect(page);
}
if (page->pte.direct == 0 &&
page_test_and_clear_dirty(page))
set_page_dirty(page);
- page_cache_release(page);
break;
case SWAP_AGAIN:
/* Skip this pte, remembering status. */