]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - fs/fat/inode.c
Merge tag 'devicetree-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux.git] / fs / fat / inode.c
index bfd589ea74c01ebf74e4866d920759143b01be16..d6b81e31f9f5d827be92ffad4cf240fa32e5f767 100644 (file)
@@ -508,7 +508,6 @@ static int fat_validate_dir(struct inode *dir)
 /* doesn't deal with root inode */
 int fat_fill_inode(struct inode *inode, struct msdos_dir_entry *de)
 {
-       struct timespec ts;
        struct msdos_sb_info *sbi = MSDOS_SB(inode->i_sb);
        int error;
 
@@ -559,14 +558,11 @@ int fat_fill_inode(struct inode *inode, struct msdos_dir_entry *de)
        inode->i_blocks = ((inode->i_size + (sbi->cluster_size - 1))
                           & ~((loff_t)sbi->cluster_size - 1)) >> 9;
 
-       fat_time_fat2unix(sbi, &ts, de->time, de->date, 0);
-       inode->i_mtime = timespec_to_timespec64(ts);
+       fat_time_fat2unix(sbi, &inode->i_mtime, de->time, de->date, 0);
        if (sbi->options.isvfat) {
-               fat_time_fat2unix(sbi, &ts, de->ctime,
+               fat_time_fat2unix(sbi, &inode->i_ctime, de->ctime,
                                  de->cdate, de->ctime_cs);
-               inode->i_ctime = timespec_to_timespec64(ts);
-               fat_time_fat2unix(sbi, &ts, 0, de->adate, 0);
-               inode->i_atime = timespec_to_timespec64(ts);
+               fat_time_fat2unix(sbi, &inode->i_atime, 0, de->adate, 0);
        } else
                inode->i_ctime = inode->i_atime = inode->i_mtime;
 
@@ -843,7 +839,6 @@ static int fat_statfs(struct dentry *dentry, struct kstatfs *buf)
 
 static int __fat_write_inode(struct inode *inode, int wait)
 {
-       struct timespec ts;
        struct super_block *sb = inode->i_sb;
        struct msdos_sb_info *sbi = MSDOS_SB(sb);
        struct buffer_head *bh;
@@ -881,16 +876,13 @@ static int __fat_write_inode(struct inode *inode, int wait)
                raw_entry->size = cpu_to_le32(inode->i_size);
        raw_entry->attr = fat_make_attrs(inode);
        fat_set_start(raw_entry, MSDOS_I(inode)->i_logstart);
-       ts = timespec64_to_timespec(inode->i_mtime);
-       fat_time_unix2fat(sbi, &ts, &raw_entry->time,
+       fat_time_unix2fat(sbi, &inode->i_mtime, &raw_entry->time,
                          &raw_entry->date, NULL);
        if (sbi->options.isvfat) {
                __le16 atime;
-               ts = timespec64_to_timespec(inode->i_ctime);
-               fat_time_unix2fat(sbi, &ts, &raw_entry->ctime,
+               fat_time_unix2fat(sbi, &inode->i_ctime, &raw_entry->ctime,
                                  &raw_entry->cdate, &raw_entry->ctime_cs);
-               ts = timespec64_to_timespec(inode->i_atime);
-               fat_time_unix2fat(sbi, &ts, &atime,
+               fat_time_unix2fat(sbi, &inode->i_atime, &atime,
                                  &raw_entry->adate, NULL);
        }
        spin_unlock(&sbi->inode_hash_lock);