From: Yiannis Pericleous Date: Sat, 19 May 2007 19:23:22 +0000 (-0400) Subject: mmap: sync_page bug, call sync_page on lower page, not unionfs page X-Git-Url: https://git.fsl.cs.sunysb.edu/?a=commitdiff_plain;h=734adbd6b8addbb57a95969d4a34c7cbb60681f1;p=unionfs-3.5.y.git 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 7d1e2f70af1..93aba3ae81a 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 */