|
@@ -2430,16 +2430,18 @@ int ntfs_setattr(struct dentry *dentry, struct iattr *attr)
|
|
|
* We skipped the truncate but must still update
|
|
|
* timestamps.
|
|
|
*/
|
|
|
- ia_valid |= ATTR_MTIME|ATTR_CTIME;
|
|
|
+ ia_valid |= ATTR_MTIME | ATTR_CTIME;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
if (ia_valid & ATTR_ATIME)
|
|
|
- vi->i_atime = attr->ia_atime;
|
|
|
+ vi->i_atime = timespec_trunc(attr->ia_atime,
|
|
|
+ vi->i_sb->s_time_gran);
|
|
|
if (ia_valid & ATTR_MTIME)
|
|
|
- vi->i_mtime = attr->ia_mtime;
|
|
|
+ vi->i_mtime = timespec_trunc(attr->ia_mtime,
|
|
|
+ vi->i_sb->s_time_gran);
|
|
|
if (ia_valid & ATTR_CTIME)
|
|
|
- vi->i_ctime = attr->ia_ctime;
|
|
|
+ vi->i_ctime = timespec_trunc(attr->ia_ctime,
|
|
|
+ vi->i_sb->s_time_gran);
|
|
|
mark_inode_dirty(vi);
|
|
|
out:
|
|
|
return err;
|