Chung-Chiang Cheng <cccheng@xxxxxxxxxxxx> writes: > diff --git a/fs/fat/namei_vfat.c b/fs/fat/namei_vfat.c > index 5369d82e0bfb..9187979fed5d 100644 > --- a/fs/fat/namei_vfat.c > +++ b/fs/fat/namei_vfat.c > @@ -781,6 +781,7 @@ static int vfat_create(struct user_namespace *mnt_userns, struct inode *dir, > } > inode_inc_iversion(inode); > fat_truncate_time(inode, &ts, S_ATIME|S_CTIME|S_MTIME); > + fat_truncate_crtime(MSDOS_SB(sb), &MSDOS_I(inode)->i_crtime, &MSDOS_I(inode)->i_crtime); > /* timestamp is already written, so mark_inode_dirty() is unneeded. */ > > d_instantiate(dentry, inode); Probably, above should be the follow line? fat_truncate_crtime(MSDOS_SB(sb), &ts, &MSDOS_I(inode)->i_crtime); And furthermore, this is missing to add it to mkdir(2)? And another one, we would have to update vfat_build_slots() for crtime? I'm not checking fully though, this seems to need isvfat test fat_time_unix2fat(sbi, ts, &time, &date, &time_cs); de->time = de->ctime = time; de->date = de->cdate = de->adate = date; de->ctime_cs = time_cs; Thanks. -- OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>