GIT: unionfs2-2.6.27.y: mmap: sync_page bug, call sync_page on lower page, not unionfs page

Erez Zadok ezk at fsl.cs.sunysb.edu
Thu Aug 12 23:16:22 EDT 2010


commit 9943dfd221d8e389b4900cd4fa518bc13976910b
Author: Yiannis Pericleous <yiannos at agora2.fsl.cs.sunysb.edu>
Date:   Sat May 19 15:23:22 2007 -0400

    mmap: sync_page bug, call sync_page on lower page, not unionfs page

diff --git a/fs/unionfs/mmap.c b/fs/unionfs/mmap.c
index 7d1e2f7..93aba3a 100644
--- a/fs/unionfs/mmap.c
+++ b/fs/unionfs/mmap.c
@@ -269,7 +269,7 @@ void unionfs_sync_page(struct page *page)
 	struct inode *inode;
 	struct inode *lower_inode;
 	struct page *lower_page;
-	struct address_space *mapping = page->mapping;
+	struct address_space *mapping;
 
 	inode = page->mapping->host;
 	lower_inode = unionfs_lower_inode(inode);
@@ -280,8 +280,9 @@ void unionfs_sync_page(struct page *page)
 		goto out;
 
 	/* do the actual sync */
+	mapping = lower_page->mapping;
 	if (mapping && mapping->a_ops && mapping->a_ops->sync_page)
-		mapping->a_ops->sync_page(page);
+		mapping->a_ops->sync_page(lower_page);
 
 	unlock_page(lower_page);	/* b/c grab_cache_page locked it */
 	page_cache_release(lower_page);	/* b/c grab_cache_page increased refcnt */


More information about the unionfs-cvs mailing list