commit cb717d87ac222f8fc5158a6ce02a0d00c944cd2c
Author: Erez_Zadok <[EMAIL PROTECTED]>
Date:   Tue Jul 31 19:25:55 2007 -0400

    Unionfs: mmap fixes to unionfs_writepage
    
    Don't call unlock_page on lower_page unless lower ->writepage failed.
    
    Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>

diff --git a/fs/unionfs/mmap.c b/fs/unionfs/mmap.c
index 4093250..5629dcc 100644
--- a/fs/unionfs/mmap.c
+++ b/fs/unionfs/mmap.c
@@ -110,8 +110,9 @@ static int unionfs_writepage(struct page *page, struct 
writeback_control *wbc)
        err = lower_inode->i_mapping->a_ops->writepage(lower_page, wbc);
        wbc->for_writepages = saved_for_writepages; /* restore value */
 
-       /* b/c find_lock_page locked it */
-       unlock_page(lower_page);
+       /* b/c find_lock_page locked it and ->writepage unlocks on success */
+       if (err)
+               unlock_page(lower_page);
        /* b/c grab_cache_page increased refcnt */
        page_cache_release(lower_page);
 
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs

Reply via email to