[PATCH] mpage_writepages() page locking fix
When ->writepage() returns WRITEPAGE_ACTIVATE, the page is still locked.
Explicitly unlock the page in mpage_writepages().
Signed-off-by: Nikita Danilov <nikita@clusterfs.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
diff --git a/fs/mpage.c b/fs/mpage.c
index e7d8d1a..3923fac 100644
--- a/fs/mpage.c
+++ b/fs/mpage.c
@@ -727,6 +727,8 @@
&last_block_in_bio, &ret, wbc,
writepage_fn);
}
+ if (unlikely(ret == WRITEPAGE_ACTIVATE))
+ unlock_page(page);
if (ret || (--(wbc->nr_to_write) <= 0))
done = 1;
if (wbc->nonblocking && bdi_write_congested(bdi)) {