summary refs log tree commit diff
path: root/mm/page-writeback.c
diff options
context:
space:
mode:
authorAndrew Morton <akpm@linux-foundation.org>2007-10-16 23:26:02 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-17 08:42:46 -0700
commite423003028183df54f039dfda8b58c49e78c89d7 (patch)
tree56df3ebc51ff86d58b054d9833770e78fb484973 /mm/page-writeback.c
parent7a4050791b23c55a451974027d41d72a9b78039b (diff)
downloadlinux-e423003028183df54f039dfda8b58c49e78c89d7.tar.gz
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/page-writeback.c')
-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)) {