Substitute inode_timespec aliases with timespec64.
Since CONFIG_FS_USES_64BIT_TIME is enabled, internally
all inode_timespec references are using timespec64
already.

Signed-off-by: Deepa Dinamani <deepa.ker...@gmail.com>
---
 fs/attr.c            |  2 +-
 fs/bad_inode.c       |  2 +-
 fs/binfmt_misc.c     |  2 +-
 fs/inode.c           | 36 ++++++++++++++++++------------------
 fs/libfs.c           | 12 ++++++------
 fs/locks.c           |  2 +-
 fs/nsfs.c            |  2 +-
 fs/pipe.c            |  2 +-
 fs/utimes.c          |  4 ++--
 include/linux/fs.h   | 24 +++++++++---------------
 include/linux/stat.h |  6 +++---
 11 files changed, 44 insertions(+), 50 deletions(-)

diff --git a/fs/attr.c b/fs/attr.c
index 4156239..ec5e9ad 100644
--- a/fs/attr.c
+++ b/fs/attr.c
@@ -192,7 +192,7 @@ int notify_change(struct dentry * dentry, struct iattr * 
attr, struct inode **de
        struct inode *inode = dentry->d_inode;
        umode_t mode = inode->i_mode;
        int error;
-       struct inode_timespec now;
+       struct timespec64 now;
        unsigned int ia_valid = attr->ia_valid;
 
        WARN_ON_ONCE(!mutex_is_locked(&inode->i_mutex));
diff --git a/fs/bad_inode.c b/fs/bad_inode.c
index 3c51e22..2a8daef 100644
--- a/fs/bad_inode.c
+++ b/fs/bad_inode.c
@@ -169,7 +169,7 @@ static const struct inode_operations bad_inode_ops =
  
 void make_bad_inode(struct inode *inode)
 {
-       struct inode_timespec now;
+       struct timespec64 now;
 
        remove_inode_hash(inode);
 
diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c
index 4fd4437..c58ecb7 100644
--- a/fs/binfmt_misc.c
+++ b/fs/binfmt_misc.c
@@ -562,7 +562,7 @@ static void entry_status(Node *e, char *page)
 static struct inode *bm_get_inode(struct super_block *sb, int mode)
 {
        struct inode *inode = new_inode(sb);
-       struct inode_timespec now;
+       struct timespec64 now;
 
        if (inode) {
                inode->i_ino = get_next_ino();
diff --git a/fs/inode.c b/fs/inode.c
index d3d64dc..86218f6 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -1532,12 +1532,12 @@ EXPORT_SYMBOL(bmap);
  * passed since the last atime update.
  */
 static int relatime_need_update(struct vfsmount *mnt, struct inode *inode,
-                            struct inode_timespec now)
+                            struct timespec64 now)
 {
 
-       struct inode_timespec ctime;
-       struct inode_timespec mtime;
-       struct inode_timespec atime;
+       struct timespec64 ctime;
+       struct timespec64 mtime;
+       struct timespec64 atime;
 
        if (!(mnt->mnt_flags & MNT_RELATIME))
                return 1;
@@ -1549,12 +1549,12 @@ static int relatime_need_update(struct vfsmount *mnt, 
struct inode *inode,
        /*
         * Is mtime younger than atime? If yes, update atime:
         */
-       if (inode_timespec_compare(&mtime, &atime) >= 0)
+       if (timespec64_compare(&mtime, &atime) >= 0)
                return 1;
        /*
         * Is ctime younger than atime? If yes, update atime:
         */
-       if (inode_timespec_compare(&ctime, &atime) >= 0)
+       if (timespec64_compare(&ctime, &atime) >= 0)
                return 1;
 
        /*
@@ -1569,7 +1569,7 @@ static int relatime_need_update(struct vfsmount *mnt, 
struct inode *inode,
        return 0;
 }
 
-int generic_update_time(struct inode *inode, struct inode_timespec *time,
+int generic_update_time(struct inode *inode, struct timespec64 *time,
                        int flags)
 {
        int iflags = I_DIRTY_TIME;
@@ -1594,10 +1594,10 @@ EXPORT_SYMBOL(generic_update_time);
  * This does the actual work of updating an inodes time or version.  Must have
  * had called mnt_want_write() before calling this.
  */
-static int update_time(struct inode *inode, struct inode_timespec *time,
+static int update_time(struct inode *inode, struct timespec64 *time,
                       int flags)
 {
-       int (*update_time)(struct inode *, struct inode_timespec *, int);
+       int (*update_time)(struct inode *, struct timespec64 *, int);
 
        update_time = inode->i_op->update_time ? inode->i_op->update_time :
                generic_update_time;
@@ -1617,8 +1617,8 @@ static int update_time(struct inode *inode, struct 
inode_timespec *time,
 bool atime_needs_update(const struct path *path, struct inode *inode)
 {
        struct vfsmount *mnt = path->mnt;
-       struct inode_timespec now;
-       struct inode_timespec atime;
+       struct timespec64 now;
+       struct timespec64 atime;
 
        if (inode->i_flags & S_NOATIME)
                return false;
@@ -1637,7 +1637,7 @@ bool atime_needs_update(const struct path *path, struct 
inode *inode)
                return false;
 
        atime = VFS_INODE_GET_XTIME(i_atime, inode);
-       if (inode_timespec_equal(&atime, &now))
+       if (timespec64_equal(&atime, &now))
                return false;
 
        return true;
@@ -1647,7 +1647,7 @@ void touch_atime(const struct path *path)
 {
        struct vfsmount *mnt = path->mnt;
        struct inode *inode = d_inode(path->dentry);
-       struct inode_timespec now;
+       struct timespec64 now;
 
        if (!atime_needs_update(path, inode))
                return;
@@ -1782,9 +1782,9 @@ EXPORT_SYMBOL(file_remove_privs);
 int file_update_time(struct file *file)
 {
        struct inode *inode = file_inode(file);
-       struct inode_timespec now;
-       struct inode_timespec mtime;
-       struct inode_timespec ctime;
+       struct timespec64 now;
+       struct timespec64 mtime;
+       struct timespec64 ctime;
 
        int sync_it = 0;
        int ret;
@@ -1798,10 +1798,10 @@ int file_update_time(struct file *file)
        mtime = VFS_INODE_GET_XTIME(i_mtime, inode);
        ctime = VFS_INODE_GET_XTIME(i_ctime, inode);
 
-       if (!inode_timespec_equal(&mtime, &now))
+       if (!timespec64_equal(&mtime, &now))
                sync_it = S_MTIME;
 
-       if (!inode_timespec_equal(&ctime, &now))
+       if (!timespec64_equal(&ctime, &now))
                sync_it |= S_CTIME;
 
        if (IS_I_VERSION(inode))
diff --git a/fs/libfs.c b/fs/libfs.c
index 5a0c7c2..ffa9e65 100644
--- a/fs/libfs.c
+++ b/fs/libfs.c
@@ -216,7 +216,7 @@ struct dentry *mount_pseudo(struct file_system_type 
*fs_type, char *name,
        struct dentry *dentry;
        struct inode *root;
        struct qstr d_name = QSTR_INIT(name, strlen(name));
-       struct inode_timespec now;
+       struct timespec64 now;
 
        s = sget(fs_type, NULL, set_anon_super, MS_NOUSER, NULL);
        if (IS_ERR(s))
@@ -274,7 +274,7 @@ EXPORT_SYMBOL(simple_open);
 int simple_link(struct dentry *old_dentry, struct inode *dir, struct dentry 
*dentry)
 {
        struct inode *inode = d_inode(old_dentry);
-       struct inode_timespec now = current_fs_time(inode->i_sb);
+       struct timespec64 now = current_fs_time(inode->i_sb);
 
        VFS_INODE_SET_XTIME(i_ctime, inode, now);
        VFS_INODE_SET_XTIME(i_mtime, dir, now);
@@ -311,7 +311,7 @@ EXPORT_SYMBOL(simple_empty);
 int simple_unlink(struct inode *dir, struct dentry *dentry)
 {
        struct inode *inode = d_inode(dentry);
-       struct inode_timespec now = current_fs_time(inode->i_sb);
+       struct timespec64 now = current_fs_time(inode->i_sb);
 
        VFS_INODE_SET_XTIME(i_ctime, inode, now);
        VFS_INODE_SET_XTIME(i_mtime, dir, now);
@@ -339,7 +339,7 @@ int simple_rename(struct inode *old_dir, struct dentry 
*old_dentry,
 {
        struct inode *inode = d_inode(old_dentry);
        int they_are_dirs = d_is_dir(old_dentry);
-       struct inode_timespec now;
+       struct timespec64 now;
 
        if (!simple_empty(new_dentry))
                return -ENOTEMPTY;
@@ -495,7 +495,7 @@ int simple_fill_super(struct super_block *s, unsigned long 
magic,
        struct inode *inode;
        struct dentry *root;
        struct dentry *dentry;
-       struct inode_timespec now;
+       struct timespec64 now;
        int i;
 
        s->s_blocksize = PAGE_CACHE_SIZE;
@@ -1080,7 +1080,7 @@ struct inode *alloc_anon_inode(struct super_block *s)
                .set_page_dirty = anon_set_page_dirty,
        };
        struct inode *inode = new_inode_pseudo(s);
-       struct inode_timespec now;
+       struct timespec64 now;
 
        if (!inode)
                return ERR_PTR(-ENOMEM);
diff --git a/fs/locks.c b/fs/locks.c
index 2b818eb..ccf9c23 100644
--- a/fs/locks.c
+++ b/fs/locks.c
@@ -1491,7 +1491,7 @@ EXPORT_SYMBOL(__break_lease);
  * exclusive leases.  The justification is that if someone has an
  * exclusive lease, then they could be modifying it.
  */
-void lease_get_mtime(struct inode *inode, struct inode_timespec *time)
+void lease_get_mtime(struct inode *inode, struct timespec64 *time)
 {
        bool has_lease = false;
        struct file_lock_context *ctx;
diff --git a/fs/nsfs.c b/fs/nsfs.c
index a079fc9..e9012b5 100644
--- a/fs/nsfs.c
+++ b/fs/nsfs.c
@@ -51,7 +51,7 @@ void *ns_get_path(struct path *path, struct task_struct *task,
        struct qstr qname = { .name = "", };
        struct dentry *dentry;
        struct inode *inode;
-       struct inode_timespec now;
+       struct timespec64 now;
        struct ns_common *ns;
        unsigned long d;
 
diff --git a/fs/pipe.c b/fs/pipe.c
index 5d414a3..3bcb870 100644
--- a/fs/pipe.c
+++ b/fs/pipe.c
@@ -637,7 +637,7 @@ static struct inode * get_pipe_inode(void)
 {
        struct inode *inode = new_inode_pseudo(pipe_mnt->mnt_sb);
        struct pipe_inode_info *pipe;
-       struct inode_timespec now;
+       struct timespec64 now;
 
        if (!inode)
                goto fail_inode;
diff --git a/fs/utimes.c b/fs/utimes.c
index c23c8e6..6c0d208 100644
--- a/fs/utimes.c
+++ b/fs/utimes.c
@@ -48,7 +48,7 @@ static bool nsec_valid(long nsec)
        return nsec >= 0 && nsec <= 999999999;
 }
 
-static int utimes_common(struct path *path, struct inode_timespec *times)
+static int utimes_common(struct path *path, struct timespec64 *times)
 {
        int error;
        struct iattr newattrs;
@@ -135,7 +135,7 @@ out:
  * Else, update from *times, must be owner or super user.
  */
 long do_utimes(int dfd, const char __user *filename,
-              struct inode_timespec *times,
+              struct timespec64 *times,
               int flags)
 {
        int error = -EINVAL;
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 5112bc2..4a754a2 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -249,9 +249,9 @@ struct iattr {
        kuid_t                  ia_uid;
        kgid_t                  ia_gid;
        loff_t                  ia_size;
-       struct inode_timespec   ia_atime;
-       struct inode_timespec   ia_mtime;
-       struct inode_timespec   ia_ctime;
+       struct timespec64       ia_atime;
+       struct timespec64       ia_mtime;
+       struct timespec64       ia_ctime;
 
        /*
         * Not an attribute, but an auxiliary info for filesystems wanting to
@@ -616,18 +616,12 @@ struct inode {
        };
        dev_t                   i_rdev;
        loff_t                  i_size;
-#ifdef CONFIG_FS_USES_64BIT_TIME
        time64_t                i_atime_sec;
        time64_t                i_mtime_sec;
        time64_t                i_ctime_sec;
        s32                     i_atime_nsec;
        s32                     i_mtime_nsec;
        s32                     i_ctime_nsec;
-#else
-       struct timespec         i_atime;
-       struct timespec         i_mtime;
-       struct timespec         i_ctime;
-#endif
        spinlock_t              i_lock; /* i_blocks, i_bytes, maybe i_size */
        unsigned short          i_bytes;
        unsigned int            i_blkbits;
@@ -727,7 +721,7 @@ struct inode {
 
 #define VFS_INODE_SWAP_XTIME(xtime, inode1, inode2)            \
        do {                                                    \
-               struct inode_timespec __ts =                    \
+               struct timespec64 __ts =                        \
                        VFS_INODE_GET_XTIME(xtime, inode1);     \
                VFS_INODE_SET_XTIME(xtime, inode1,              \
                        VFS_INODE_GET_XTIME(xtime, inode2));    \
@@ -1448,11 +1442,11 @@ struct super_block {
 
 #endif
 
-extern int is_fs_timestamp_bad(struct inode_timespec ts);
-extern struct inode_timespec current_fs_time(struct super_block *sb);
-extern struct inode_timespec current_fs_time_sec(struct super_block *sb);
-extern struct inode_timespec
-fs_time_trunc(struct inode_timespec ts, struct super_block *sb);
+extern int is_fs_timestamp_bad(struct timespec64 ts);
+extern struct timespec64 current_fs_time(struct super_block *sb);
+extern struct timespec64 current_fs_time_sec(struct super_block *sb);
+extern struct timespec64
+fs_time_trunc(struct timespec64 ts, struct super_block *sb);
 
 /*
  * Snapshotting support.
diff --git a/include/linux/stat.h b/include/linux/stat.h
index 559983f..5561337 100644
--- a/include/linux/stat.h
+++ b/include/linux/stat.h
@@ -27,9 +27,9 @@ struct kstat {
        kgid_t          gid;
        dev_t           rdev;
        loff_t          size;
-       struct inode_timespec   atime;
-       struct inode_timespec   mtime;
-       struct inode_timespec   ctime;
+       struct timespec64       atime;
+       struct timespec64       mtime;
+       struct timespec64       ctime;
        unsigned long   blksize;
        unsigned long long      blocks;
 };
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to