diff options
Diffstat (limited to 'fs/ntfs/inode.c')
| -rw-r--r-- | fs/ntfs/inode.c | 21 | 
1 files changed, 12 insertions, 9 deletions
diff --git a/fs/ntfs/inode.c b/fs/ntfs/inode.c index 8baa34baf548..6c7388430ad3 100644 --- a/fs/ntfs/inode.c +++ b/fs/ntfs/inode.c @@ -2899,15 +2899,18 @@ int ntfs_setattr(struct dentry *dentry, struct iattr *attr)  			ia_valid |= ATTR_MTIME | ATTR_CTIME;  		}  	} -	if (ia_valid & ATTR_ATIME) -		vi->i_atime = timespec64_trunc(attr->ia_atime, -					       vi->i_sb->s_time_gran); -	if (ia_valid & ATTR_MTIME) -		vi->i_mtime = timespec64_trunc(attr->ia_mtime, -					       vi->i_sb->s_time_gran); -	if (ia_valid & ATTR_CTIME) -		vi->i_ctime = timespec64_trunc(attr->ia_ctime, -					       vi->i_sb->s_time_gran); +	if (ia_valid & ATTR_ATIME) { +		vi->i_atime = timestamp_truncate(attr->ia_atime, +					       vi); +	} +	if (ia_valid & ATTR_MTIME) { +		vi->i_mtime = timestamp_truncate(attr->ia_mtime, +					       vi); +	} +	if (ia_valid & ATTR_CTIME) { +		vi->i_ctime = timestamp_truncate(attr->ia_ctime, +					       vi); +	}  	mark_inode_dirty(vi);  out:  	return err;  |