exfat: ensure that ctime is updated whenever the mtime is
When removing entries from a directory, the ctime must also be updated alongside the mtime. Signed-off-by: Jeff Layton <jlayton@kernel.org> Message-Id: <20230705190309.579783-4-jlayton@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
parent
73e6730650
commit
fb91816e40
@ -817,7 +817,7 @@ static int exfat_unlink(struct inode *dir, struct dentry *dentry)
|
||||
ei->dir.dir = DIR_DELETED;
|
||||
|
||||
inode_inc_iversion(dir);
|
||||
dir->i_mtime = dir->i_atime = current_time(dir);
|
||||
dir->i_mtime = dir->i_atime = dir->i_ctime = current_time(dir);
|
||||
exfat_truncate_atime(&dir->i_atime);
|
||||
if (IS_DIRSYNC(dir))
|
||||
exfat_sync_inode(dir);
|
||||
@ -825,7 +825,7 @@ static int exfat_unlink(struct inode *dir, struct dentry *dentry)
|
||||
mark_inode_dirty(dir);
|
||||
|
||||
clear_nlink(inode);
|
||||
inode->i_mtime = inode->i_atime = current_time(inode);
|
||||
inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
|
||||
exfat_truncate_atime(&inode->i_atime);
|
||||
exfat_unhash_inode(inode);
|
||||
exfat_d_version_set(dentry, inode_query_iversion(dir));
|
||||
@ -979,7 +979,7 @@ static int exfat_rmdir(struct inode *dir, struct dentry *dentry)
|
||||
ei->dir.dir = DIR_DELETED;
|
||||
|
||||
inode_inc_iversion(dir);
|
||||
dir->i_mtime = dir->i_atime = current_time(dir);
|
||||
dir->i_mtime = dir->i_atime = dir->i_ctime = current_time(dir);
|
||||
exfat_truncate_atime(&dir->i_atime);
|
||||
if (IS_DIRSYNC(dir))
|
||||
exfat_sync_inode(dir);
|
||||
@ -988,7 +988,7 @@ static int exfat_rmdir(struct inode *dir, struct dentry *dentry)
|
||||
drop_nlink(dir);
|
||||
|
||||
clear_nlink(inode);
|
||||
inode->i_mtime = inode->i_atime = current_time(inode);
|
||||
inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
|
||||
exfat_truncate_atime(&inode->i_atime);
|
||||
exfat_unhash_inode(inode);
|
||||
exfat_d_version_set(dentry, inode_query_iversion(dir));
|
||||
|
Loading…
x
Reference in New Issue
Block a user