Unionfs: update inode times after a successful open
authorErez Zadok <ezk@cs.sunysb.edu>
Thu, 10 Jan 2008 12:04:18 +0000 (07:04 -0500)
committerRachita Kothiyal <rachita@dewey.fsl.cs.sunysb.edu>
Thu, 1 May 2008 23:03:31 +0000 (19:03 -0400)
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
fs/unionfs/commonfops.c

index 516ea5256cfcfcde888faa07cb07bd9ed217f3d8..26573f300606ca8763ac1a3d77182682ac60a957 100644 (file)
@@ -675,10 +675,13 @@ out:
                kfree(UNIONFS_F(file));
        }
 out_nofree:
-       unionfs_check_inode(inode);
        if (!err) {
+               dentry = file->f_path.dentry;
+               unionfs_copy_attr_times(dentry->d_parent->d_inode);
+               unionfs_copy_attr_times(inode);
                unionfs_check_file(file);
-               unionfs_check_dentry(file->f_path.dentry->d_parent);
+               unionfs_check_dentry(dentry->d_parent);
+               unionfs_check_inode(inode);
        }
        unionfs_read_unlock(inode->i_sb);
        return err;