Unionfs: cache-coherency fixes
authorErez_Zadok <ezk@cs.sunysb.edu>
Fri, 16 Nov 2007 18:46:18 +0000 (13:46 -0500)
committerRachita Kothiyal <rachita@dewey.fsl.cs.sunysb.edu>
Thu, 1 May 2008 23:03:07 +0000 (19:03 -0400)
Do not update mtime if there is no upper branch for the inode.  This
prevents from calling unionfs_lower_inode_idx() with a negative index, which
triggers a bug.

Signed-off-by: Olivier Blin <blino@mandriva.com>
Acked-by: Erez Zadok <ezk@cs.sunysb.edu>
fs/unionfs/fanout.h

index 6d0795d583e9107c086db6022d33156032f202c6..3fc6733c99f30be937fb80ca53841db2d5153a8c 100644 (file)
@@ -301,7 +301,7 @@ static inline void unionfs_copy_attr_times(struct inode *upper)
        int bindex;
        struct inode *lower;
 
-       if (!upper)
+       if (!upper || ibstart(upper) < 0)
                return;
        for (bindex=ibstart(upper); bindex <= ibend(upper); bindex++) {
                lower = unionfs_lower_inode_idx(upper, bindex);