]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commitdiff
fs: block_page_mkwrite should wait for writeback to finish
authorDarrick J. Wong <djwong@us.ibm.com>
Fri, 27 May 2011 19:23:41 +0000 (12:23 -0700)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 28 May 2011 05:03:21 +0000 (01:03 -0400)
For filesystems such as nilfs2 and xfs that use block_page_mkwrite, modify that
function to wait for pending writeback before allowing the page to become
writable.  This is needed to stabilize pages during writeback for those two
filesystems.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/buffer.c

index 698c6b2cc462ab067debcab84f77cffcb785a9cd..49c9aada0374b4c8b407d1110d37203f26339b62 100644 (file)
@@ -2382,6 +2382,7 @@ int __block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
                ret = -EAGAIN;
                goto out_unlock;
        }
+       wait_on_page_writeback(page);
        return 0;
 out_unlock:
        unlock_page(page);