aboutsummaryrefslogtreecommitdiffstats
path: root/fs/fat/namei_vfat.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/fat/namei_vfat.c')
-rw-r--r--fs/fat/namei_vfat.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/fat/namei_vfat.c b/fs/fat/namei_vfat.c
index facf3bf0211a..1536bc3ca0f0 100644
--- a/fs/fat/namei_vfat.c
+++ b/fs/fat/namei_vfat.c
@@ -568,6 +568,7 @@ static int vfat_build_slots(struct inode *dir, const unsigned char *name,
568 unsigned char msdos_name[MSDOS_NAME]; 568 unsigned char msdos_name[MSDOS_NAME];
569 wchar_t *uname; 569 wchar_t *uname;
570 __le16 time, date; 570 __le16 time, date;
571 u8 time_cs;
571 int err, ulen, usize, i; 572 int err, ulen, usize, i;
572 loff_t offset; 573 loff_t offset;
573 574
@@ -620,10 +621,10 @@ shortname:
620 memcpy(de->name, msdos_name, MSDOS_NAME); 621 memcpy(de->name, msdos_name, MSDOS_NAME);
621 de->attr = is_dir ? ATTR_DIR : ATTR_ARCH; 622 de->attr = is_dir ? ATTR_DIR : ATTR_ARCH;
622 de->lcase = lcase; 623 de->lcase = lcase;
623 fat_date_unix2dos(ts->tv_sec, &time, &date, sbi->options.tz_utc); 624 fat_time_unix2fat(sbi, ts, &time, &date, &time_cs);
624 de->time = de->ctime = time; 625 de->time = de->ctime = time;
625 de->date = de->cdate = de->adate = date; 626 de->date = de->cdate = de->adate = date;
626 de->ctime_cs = 0; 627 de->ctime_cs = time_cs;
627 de->start = cpu_to_le16(cluster); 628 de->start = cpu_to_le16(cluster);
628 de->starthi = cpu_to_le16(cluster >> 16); 629 de->starthi = cpu_to_le16(cluster >> 16);
629 de->size = 0; 630 de->size = 0;