Commit 32b51ef2 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] Special-case fail_writepage() in page reclaim

Pages from memory-backed filesystems are supposed to be moved up onto
the active list, but that's not working because fail_writepage() is
called when the page is not on the LRU.

So look for this case in page reclaim and handle it there.

And it's more efficient, the VM knows more about what is going on and
it later leads to the removal of fail_writepage().
parent 3b0db538
...@@ -309,6 +309,8 @@ shrink_list(struct list_head *page_list, unsigned int gfp_mask, ...@@ -309,6 +309,8 @@ shrink_list(struct list_head *page_list, unsigned int gfp_mask,
goto keep_locked; goto keep_locked;
if (!mapping) if (!mapping)
goto keep_locked; goto keep_locked;
if (mapping->a_ops->writepage == fail_writepage)
goto activate_locked;
if (!may_enter_fs) if (!may_enter_fs)
goto keep_locked; goto keep_locked;
bdi = mapping->backing_dev_info; bdi = mapping->backing_dev_info;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment