summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorAndrew Morton <akpm@linux-foundation.org>2007-10-17 08:26:02 +0200
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-17 17:42:46 +0200
commite423003028183df54f039dfda8b58c49e78c89d7 (patch)
tree56df3ebc51ff86d58b054d9833770e78fb484973 /mm
parentmm: document tree_lock->zone.lock lockorder (diff)
downloadlinux-e423003028183df54f039dfda8b58c49e78c89d7.tar.xz
linux-e423003028183df54f039dfda8b58c49e78c89d7.zip
writeback: don't propagate AOP_WRITEPAGE_ACTIVATE
This is a writeback-internal marker but we're propagating it all the way back to userspace!. Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/page-writeback.c4
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:
ret = (*writepage)(page, wbc, data);
- if (unlikely(ret == AOP_WRITEPAGE_ACTIVATE))
+ if (unlikely(ret == AOP_WRITEPAGE_ACTIVATE)) {
unlock_page(page);
+ ret = 0;
+ }
if (ret || (--(wbc->nr_to_write) <= 0))
done = 1;
if (wbc->nonblocking && bdi_write_congested(bdi)) {