aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorNikita Danilov <nikita@clusterfs.com>2005-05-01 11:58:39 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-01 11:58:39 -0400
commit552fca4cbe552520d85b21e839f289c880fa48d2 (patch)
tree8a91530f62a2118e390db209779c184983684e66 /fs
parent97e2bde47f886a317909c8a8f9bd2fcd8ce2f0b0 (diff)
[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>
Diffstat (limited to 'fs')
-rw-r--r--fs/mpage.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/mpage.c b/fs/mpage.c
index e7d8d1a77606..3923facf94eb 100644
--- a/fs/mpage.c
+++ b/fs/mpage.c
@@ -727,6 +727,8 @@ retry:
727 &last_block_in_bio, &ret, wbc, 727 &last_block_in_bio, &ret, wbc,
728 writepage_fn); 728 writepage_fn);
729 } 729 }
730 if (unlikely(ret == WRITEPAGE_ACTIVATE))
731 unlock_page(page);
730 if (ret || (--(wbc->nr_to_write) <= 0)) 732 if (ret || (--(wbc->nr_to_write) <= 0))
731 done = 1; 733 done = 1;
732 if (wbc->nonblocking && bdi_write_congested(bdi)) { 734 if (wbc->nonblocking && bdi_write_congested(bdi)) {