Unionfs: cache-coherency fixes
authorErez_Zadok <ezk@cs.sunysb.edu>
Thu, 20 Sep 2007 03:52:18 +0000 (23:52 -0400)
committerErez Zadok <ezk@cs.sunysb.edu>
Sun, 23 Feb 2014 19:04:07 +0000 (14:04 -0500)
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 afeb9f646b160045c0ecf79d7dfaf0ea05c385fe..51aa0de12ffc7599b423e9cd97e138cdeacc1710 100644 (file)
@@ -308,7 +308,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);