2012/11/12, OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>: > Namjae Jeon <linkinjeon@xxxxxxxxx> writes: > >> Correctly update modification and status change time in case of >> file/directory removal and creation. > > This changelog just explain "what", and it doesn't explain "why". Please > explain why we need this change. > > IIRC, timestamp handling in FAT driver is strange historically. Anyway, > FAT doesn't have "inode change time". It is "creation time" in FAT. Hi. OGAWA. I made this patch after comparing timestamp handlings with MSDOS and XFS. Should timestamp handling of FAT be same with MSDOS ? Am I missing ? Thanks. > >> Signed-off-by: Namjae Jeon <linkinjeon@xxxxxxxxx> >> Signed-off-by: Amit Sahrawat <amit.sahrawat83@xxxxxxxxx> >> --- >> fs/fat/dir.c | 2 +- >> fs/fat/namei_vfat.c | 6 +++--- >> 2 files changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/fs/fat/dir.c b/fs/fat/dir.c >> index 2a18234..c9fca7d 100644 >> --- a/fs/fat/dir.c >> +++ b/fs/fat/dir.c >> @@ -1042,7 +1042,7 @@ int fat_remove_entries(struct inode *dir, struct >> fat_slot_info *sinfo) >> } >> } >> >> - dir->i_mtime = dir->i_atime = CURRENT_TIME_SEC; >> + dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; >> if (IS_DIRSYNC(dir)) >> (void)fat_sync_inode(dir); >> else >> diff --git a/fs/fat/namei_vfat.c b/fs/fat/namei_vfat.c >> index ac959d6..23bec0d 100644 >> --- a/fs/fat/namei_vfat.c >> +++ b/fs/fat/namei_vfat.c >> @@ -684,7 +684,7 @@ static int vfat_add_entry(struct inode *dir, struct >> qstr *qname, int is_dir, >> goto cleanup; >> >> /* update timestamp */ >> - dir->i_ctime = dir->i_mtime = dir->i_atime = *ts; >> + dir->i_ctime = dir->i_mtime = *ts; >> if (IS_DIRSYNC(dir)) >> (void)fat_sync_inode(dir); >> else >> @@ -826,7 +826,7 @@ static int vfat_rmdir(struct inode *dir, struct dentry >> *dentry) >> drop_nlink(dir); >> >> clear_nlink(inode); >> - inode->i_mtime = inode->i_atime = CURRENT_TIME_SEC; >> + inode->i_ctime = CURRENT_TIME_SEC; >> fat_detach(inode); >> out: >> mutex_unlock(&MSDOS_SB(sb)->s_lock); >> @@ -851,7 +851,7 @@ static int vfat_unlink(struct inode *dir, struct >> dentry *dentry) >> if (err) >> goto out; >> clear_nlink(inode); >> - inode->i_mtime = inode->i_atime = CURRENT_TIME_SEC; >> + inode->i_ctime = CURRENT_TIME_SEC; >> fat_detach(inode); >> out: >> mutex_unlock(&MSDOS_SB(sb)->s_lock); > > -- > OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> > -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html