commit fb6dc8e7ce1bb8bcd33aa8aa31fc0339a7a2ebe8
Author: Yiannis Pericleous <[EMAIL PROTECTED]>
Date:   Fri Apr 27 18:13:29 2007 -0400

    mmap: file revalidation

diff --git a/fs/unionfs/mmap.c b/fs/unionfs/mmap.c
index 57792d5..7d27bd8 100644
--- a/fs/unionfs/mmap.c
+++ b/fs/unionfs/mmap.c
@@ -162,6 +162,9 @@ int unionfs_readpage(struct file *file, struct page *page)
 {
        int err;
 
+       if ((err = unionfs_file_revalidate(file, 0)))
+               goto out_err;
+
        err = unionfs_do_readpage(file, page);
 
        /*
@@ -170,6 +173,7 @@ int unionfs_readpage(struct file *file, struct page *page)
         * it
         */
 
+out_err:
        unlock_page(page);
 
        return err;
@@ -178,7 +182,7 @@ int unionfs_readpage(struct file *file, struct page *page)
 int unionfs_prepare_write(struct file *file, struct page *page, unsigned from,
                          unsigned to)
 {
-       return 0;
+       return unionfs_file_revalidate(file, 1);
 }
 
 int unionfs_commit_write(struct file *file, struct page *page, unsigned from,
@@ -194,6 +198,9 @@ int unionfs_commit_write(struct file *file, struct page 
*page, unsigned from,
 
        BUG_ON(file == NULL);
 
+       if ((err = unionfs_file_revalidate(file, 1)))
+               goto out;
+
        inode = page->mapping->host;    /* CPW: Moved below 
print_entry_location */
        lower_inode = unionfs_lower_inode(inode);
 
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs

Reply via email to