tree b91793f34092eaa312d9f96bed80af8dfd19ad6f
parent bbf1813fb8ff9d21171bf22e6d1f0e0393601e86
author Anton Altaparmakov <[EMAIL PROTECTED]> Thu, 08 Sep 2005 21:15:09 +0100
committer Anton Altaparmakov <[EMAIL PROTECTED]> Thu, 08 Sep 2005 21:15:09 +0100

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: Anton Altaparmakov <[EMAIL PROTECTED]>

 fs/ntfs/ChangeLog |    2 ++
 fs/ntfs/inode.c   |   12 +++++++-----
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/fs/ntfs/ChangeLog b/fs/ntfs/ChangeLog
--- a/fs/ntfs/ChangeLog
+++ b/fs/ntfs/ChangeLog
@@ -73,6 +73,8 @@ ToDo/Notes:
        - Fix cluster (de)allocators to work when the runlist is NULL and more
          importantly to take a locked runlist rather than them locking it
          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
         many bug fixes, cleanups, and enhancements...
diff --git a/fs/ntfs/inode.c b/fs/ntfs/inode.c
--- a/fs/ntfs/inode.c
+++ b/fs/ntfs/inode.c
@@ -2430,16 +2430,18 @@ int ntfs_setattr(struct dentry *dentry, 
                         * 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;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to