f2fs: return AOP_WRITEPAGE_ACTIVATE for writepage
We should use AOP_WRITEPAGE_ACTIVATE when we bypass writing pages. Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Miao Xie <miaoxie@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
Родитель
26787236b3
Коммит
0002b61bda
|
@ -1384,6 +1384,8 @@ out:
|
||||||
|
|
||||||
redirty_out:
|
redirty_out:
|
||||||
redirty_page_for_writepage(wbc, page);
|
redirty_page_for_writepage(wbc, page);
|
||||||
|
if (!err)
|
||||||
|
return AOP_WRITEPAGE_ACTIVATE;
|
||||||
unlock_page(page);
|
unlock_page(page);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -1479,6 +1481,15 @@ continue_unlock:
|
||||||
|
|
||||||
ret = mapping->a_ops->writepage(page, wbc);
|
ret = mapping->a_ops->writepage(page, wbc);
|
||||||
if (unlikely(ret)) {
|
if (unlikely(ret)) {
|
||||||
|
/*
|
||||||
|
* keep nr_to_write, since vfs uses this to
|
||||||
|
* get # of written pages.
|
||||||
|
*/
|
||||||
|
if (ret == AOP_WRITEPAGE_ACTIVATE) {
|
||||||
|
unlock_page(page);
|
||||||
|
ret = 0;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
done_index = page->index + 1;
|
done_index = page->index + 1;
|
||||||
done = 1;
|
done = 1;
|
||||||
break;
|
break;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче