diff options
Diffstat (limited to 'mm/page-writeback.c')
-rw-r--r-- | mm/page-writeback.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 4073d531cd7b..334852131588 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c | |||
@@ -849,8 +849,10 @@ retry: | |||
849 | 849 | ||
850 | ret = (*writepage)(page, wbc, data); | 850 | ret = (*writepage)(page, wbc, data); |
851 | 851 | ||
852 | if (unlikely(ret == AOP_WRITEPAGE_ACTIVATE)) | 852 | if (unlikely(ret == AOP_WRITEPAGE_ACTIVATE)) { |
853 | unlock_page(page); | 853 | unlock_page(page); |
854 | ret = 0; | ||
855 | } | ||
854 | if (ret || (--(wbc->nr_to_write) <= 0)) | 856 | if (ret || (--(wbc->nr_to_write) <= 0)) |
855 | done = 1; | 857 | done = 1; |
856 | if (wbc->nonblocking && bdi_write_congested(bdi)) { | 858 | if (wbc->nonblocking && bdi_write_congested(bdi)) { |