CURRENT_TIME macro is not appropriate for filesystems as it
doesn't use the right granularity for filesystem timestamps.
Use current_fs_time() instead.

Signed-off-by: Deepa Dinamani <[email protected]>
Cc: Peter Hurley <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Josh Triplett <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Andrew Morton <[email protected]>
---
 fs/devpts/inode.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/fs/devpts/inode.c b/fs/devpts/inode.c
index 655f21f..4eb338d4 100644
--- a/fs/devpts/inode.c
+++ b/fs/devpts/inode.c
@@ -280,7 +280,8 @@ static int mknod_ptmx(struct super_block *sb)
        }
 
        inode->i_ino = 2;
-       inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
+       inode->i_mtime = inode->i_atime =
+               inode->i_ctime = current_fs_time(sb);
 
        mode = S_IFCHR|opts->ptmxmode;
        init_special_inode(inode, mode, MKDEV(TTYAUX_MAJOR, 2));
@@ -392,7 +393,8 @@ devpts_fill_super(struct super_block *s, void *data, int 
silent)
        if (!inode)
                goto fail;
        inode->i_ino = 1;
-       inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
+       inode->i_mtime = inode->i_atime =
+               inode->i_ctime = current_fs_time(s);
        inode->i_mode = S_IFDIR | S_IRUGO | S_IXUGO | S_IWUSR;
        inode->i_op = &simple_dir_inode_operations;
        inode->i_fop = &simple_dir_operations;
@@ -629,7 +631,8 @@ struct inode *devpts_pty_new(struct inode *ptmx_inode, 
dev_t device, int index,
        inode->i_ino = index + 3;
        inode->i_uid = opts->setuid ? opts->uid : current_fsuid();
        inode->i_gid = opts->setgid ? opts->gid : current_fsgid();
-       inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
+       inode->i_mtime = inode->i_atime =
+               inode->i_ctime = current_fs_time(sb);
        init_special_inode(inode, S_IFCHR|opts->mode, device);
        inode->i_private = priv;
 
-- 
1.9.1

Reply via email to