Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1c7d469d authored by Anton Altaparmakov's avatar Anton Altaparmakov
Browse files

NTFS: Truncate {a,c,m}time to the ntfs supported time granularity when


      updating the times in the inode in ntfs_setattr().

Signed-off-by: default avatarAnton Altaparmakov <aia21@cantab.net>
parent bbf1813f
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -73,6 +73,8 @@ ToDo/Notes:
	- Fix cluster (de)allocators to work when the runlist is NULL and more
	- Fix cluster (de)allocators to work when the runlist is NULL and more
	  importantly to take a locked runlist rather than them locking it
	  importantly to take a locked runlist rather than them locking it
	  which leads to lock reversal.
	  which leads to lock reversal.
	- Truncate {a,c,m}time to the ntfs supported time granularity when
	  updating the times in the inode in ntfs_setattr().


2.1.23 - Implement extension of resident files and make writing safe as well as
2.1.23 - Implement extension of resident files and make writing safe as well as
	 many bug fixes, cleanups, and enhancements...
	 many bug fixes, cleanups, and enhancements...
+7 −5
Original line number Original line Diff line number Diff line
@@ -2433,13 +2433,15 @@ int ntfs_setattr(struct dentry *dentry, struct iattr *attr)
			ia_valid |= ATTR_MTIME | ATTR_CTIME;
			ia_valid |= ATTR_MTIME | ATTR_CTIME;
		}
		}
	}
	}

	if (ia_valid & ATTR_ATIME)
	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)
	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)
	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);
	mark_inode_dirty(vi);
out:
out:
	return err;
	return err;