commit d87d400eef66da74027dba79cbdc936f17f564b7
Author: Erez Zadok <[EMAIL PROTECTED]>
Date:   Sun Nov 25 14:51:56 2007 -0500

    Unionfs: prevent multiple writers to lower_page
    
    Without this patch, the LTP fs test "rwtest04" triggers a
    BUG_ON(PageWriteback(page)) in fs/buffer.c:1706.
    
    CC: Hugh Dickins <[EMAIL PROTECTED]>
    
    Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>

diff --git a/fs/unionfs/mmap.c b/fs/unionfs/mmap.c
index 623a913..ea5ef3d 100644
--- a/fs/unionfs/mmap.c
+++ b/fs/unionfs/mmap.c
@@ -73,6 +73,7 @@ static int unionfs_writepage(struct page *page, struct 
writeback_control *wbc)
 
        BUG_ON(!lower_mapping->a_ops->writepage);
        clear_page_dirty_for_io(lower_page); /* emulate VFS behavior */
+       wait_on_page_writeback(lower_page); /* prevent multiple writers */
        err = lower_mapping->a_ops->writepage(lower_page, wbc);
        if (err < 0)
                goto out_release;
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs

Reply via email to