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