From: Anton Blanchard Update ctime/mtime in libfs where appropriate. --- fs/libfs.c | 7 +++++++ 1 files changed, 7 insertions(+) diff -puN fs/libfs.c~libfs_timestamp_fixes fs/libfs.c --- 25/fs/libfs.c~libfs_timestamp_fixes 2004-01-21 11:00:32.000000000 -0800 +++ 25-akpm/fs/libfs.c 2004-01-21 11:00:32.000000000 -0800 @@ -227,6 +227,7 @@ int simple_link(struct dentry *old_dentr { struct inode *inode = old_dentry->d_inode; + inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME; inode->i_nlink++; atomic_inc(&inode->i_count); dget(dentry); @@ -258,6 +259,7 @@ int simple_unlink(struct inode *dir, str { struct inode *inode = dentry->d_inode; + inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME; inode->i_nlink--; dput(dentry); return 0; @@ -277,6 +279,7 @@ int simple_rmdir(struct inode *dir, stru int simple_rename(struct inode *old_dir, struct dentry *old_dentry, struct inode *new_dir, struct dentry *new_dentry) { + struct inode *inode = old_dentry->d_inode; int they_are_dirs = S_ISDIR(old_dentry->d_inode->i_mode); if (!simple_empty(new_dentry)) @@ -290,6 +293,10 @@ int simple_rename(struct inode *old_dir, old_dir->i_nlink--; new_dir->i_nlink++; } + + old_dir->i_ctime = old_dir->i_mtime = new_dir->i_ctime = + new_dir->i_mtime = inode->i_ctime = CURRENT_TIME; + return 0; } _