ubifs: convert to new timestamp accessors
authorJeff Layton <jlayton@kernel.org>
Wed, 4 Oct 2023 18:52:58 +0000 (14:52 -0400)
committerChristian Brauner <brauner@kernel.org>
Wed, 18 Oct 2023 12:08:28 +0000 (14:08 +0200)
Convert to using the new inode timestamp accessor functions.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Link: https://lore.kernel.org/r/20231004185347.80880-71-jlayton@kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/ubifs/debug.c
fs/ubifs/dir.c
fs/ubifs/file.c
fs/ubifs/journal.c
fs/ubifs/super.c

index eef9e527d9ff94a181cd1bed1e2d044112de6bb6..d013c5b3f1edaeb3d17b351dc61286331a4b6161 100644 (file)
@@ -237,14 +237,14 @@ void ubifs_dump_inode(struct ubifs_info *c, const struct inode *inode)
        pr_err("\tuid            %u\n", (unsigned int)i_uid_read(inode));
        pr_err("\tgid            %u\n", (unsigned int)i_gid_read(inode));
        pr_err("\tatime          %u.%u\n",
-              (unsigned int)inode->i_atime.tv_sec,
-              (unsigned int)inode->i_atime.tv_nsec);
+              (unsigned int) inode_get_atime_sec(inode),
+              (unsigned int) inode_get_atime_nsec(inode));
        pr_err("\tmtime          %u.%u\n",
-              (unsigned int)inode->i_mtime.tv_sec,
-              (unsigned int)inode->i_mtime.tv_nsec);
+              (unsigned int) inode_get_mtime_sec(inode),
+              (unsigned int) inode_get_mtime_nsec(inode));
        pr_err("\tctime          %u.%u\n",
-              (unsigned int) inode_get_ctime(inode).tv_sec,
-              (unsigned int) inode_get_ctime(inode).tv_nsec);
+              (unsigned int) inode_get_ctime_sec(inode),
+              (unsigned int) inode_get_ctime_nsec(inode));
        pr_err("\tcreat_sqnum    %llu\n", ui->creat_sqnum);
        pr_err("\txattr_size     %u\n", ui->xattr_size);
        pr_err("\txattr_cnt      %u\n", ui->xattr_cnt);
index 2f48c58d47cdd02b18fbd6cd7b2439a34c42c89e..7af442de44c36db1cff22aab23795df6ac538fff 100644 (file)
@@ -96,7 +96,7 @@ struct inode *ubifs_new_inode(struct ubifs_info *c, struct inode *dir,
        inode->i_flags |= S_NOCMTIME;
 
        inode_init_owner(&nop_mnt_idmap, inode, dir, mode);
-       inode->i_mtime = inode->i_atime = inode_set_ctime_current(inode);
+       simple_inode_init_ts(inode);
        inode->i_mapping->nrpages = 0;
 
        if (!is_xattr) {
@@ -324,7 +324,8 @@ static int ubifs_create(struct mnt_idmap *idmap, struct inode *dir,
        mutex_lock(&dir_ui->ui_mutex);
        dir->i_size += sz_change;
        dir_ui->ui_size = dir->i_size;
-       dir->i_mtime = inode_set_ctime_to_ts(dir, inode_get_ctime(inode));
+       inode_set_mtime_to_ts(dir,
+                             inode_set_ctime_to_ts(dir, inode_get_ctime(inode)));
        err = ubifs_jnl_update(c, dir, &nm, inode, 0, 0);
        if (err)
                goto out_cancel;
@@ -767,7 +768,8 @@ static int ubifs_link(struct dentry *old_dentry, struct inode *dir,
        inode_set_ctime_current(inode);
        dir->i_size += sz_change;
        dir_ui->ui_size = dir->i_size;
-       dir->i_mtime = inode_set_ctime_to_ts(dir, inode_get_ctime(inode));
+       inode_set_mtime_to_ts(dir,
+                             inode_set_ctime_to_ts(dir, inode_get_ctime(inode)));
        err = ubifs_jnl_update(c, dir, &nm, inode, 0, 0);
        if (err)
                goto out_cancel;
@@ -841,7 +843,8 @@ static int ubifs_unlink(struct inode *dir, struct dentry *dentry)
        drop_nlink(inode);
        dir->i_size -= sz_change;
        dir_ui->ui_size = dir->i_size;
-       dir->i_mtime = inode_set_ctime_to_ts(dir, inode_get_ctime(inode));
+       inode_set_mtime_to_ts(dir,
+                             inode_set_ctime_to_ts(dir, inode_get_ctime(inode)));
        err = ubifs_jnl_update(c, dir, &nm, inode, 1, 0);
        if (err)
                goto out_cancel;
@@ -944,7 +947,8 @@ static int ubifs_rmdir(struct inode *dir, struct dentry *dentry)
        drop_nlink(dir);
        dir->i_size -= sz_change;
        dir_ui->ui_size = dir->i_size;
-       dir->i_mtime = inode_set_ctime_to_ts(dir, inode_get_ctime(inode));
+       inode_set_mtime_to_ts(dir,
+                             inode_set_ctime_to_ts(dir, inode_get_ctime(inode)));
        err = ubifs_jnl_update(c, dir, &nm, inode, 1, 0);
        if (err)
                goto out_cancel;
@@ -1018,7 +1022,8 @@ static int ubifs_mkdir(struct mnt_idmap *idmap, struct inode *dir,
        inc_nlink(dir);
        dir->i_size += sz_change;
        dir_ui->ui_size = dir->i_size;
-       dir->i_mtime = inode_set_ctime_to_ts(dir, inode_get_ctime(inode));
+       inode_set_mtime_to_ts(dir,
+                             inode_set_ctime_to_ts(dir, inode_get_ctime(inode)));
        err = ubifs_jnl_update(c, dir, &nm, inode, 0, 0);
        if (err) {
                ubifs_err(c, "cannot create directory, error %d", err);
@@ -1109,7 +1114,8 @@ static int ubifs_mknod(struct mnt_idmap *idmap, struct inode *dir,
        mutex_lock(&dir_ui->ui_mutex);
        dir->i_size += sz_change;
        dir_ui->ui_size = dir->i_size;
-       dir->i_mtime = inode_set_ctime_to_ts(dir, inode_get_ctime(inode));
+       inode_set_mtime_to_ts(dir,
+                             inode_set_ctime_to_ts(dir, inode_get_ctime(inode)));
        err = ubifs_jnl_update(c, dir, &nm, inode, 0, 0);
        if (err)
                goto out_cancel;
@@ -1209,7 +1215,8 @@ static int ubifs_symlink(struct mnt_idmap *idmap, struct inode *dir,
        mutex_lock(&dir_ui->ui_mutex);
        dir->i_size += sz_change;
        dir_ui->ui_size = dir->i_size;
-       dir->i_mtime = inode_set_ctime_to_ts(dir, inode_get_ctime(inode));
+       inode_set_mtime_to_ts(dir,
+                             inode_set_ctime_to_ts(dir, inode_get_ctime(inode)));
        err = ubifs_jnl_update(c, dir, &nm, inode, 0, 0);
        if (err)
                goto out_cancel;
index e5382f0b258782c68436a6b4f43ab036002a19d7..2e65fd2dbdc34d9286c8832f0684937924c20947 100644 (file)
@@ -1088,9 +1088,9 @@ static void do_attr_changes(struct inode *inode, const struct iattr *attr)
        if (attr->ia_valid & ATTR_GID)
                inode->i_gid = attr->ia_gid;
        if (attr->ia_valid & ATTR_ATIME)
-               inode->i_atime = attr->ia_atime;
+               inode_set_atime_to_ts(inode, attr->ia_atime);
        if (attr->ia_valid & ATTR_MTIME)
-               inode->i_mtime = attr->ia_mtime;
+               inode_set_mtime_to_ts(inode, attr->ia_mtime);
        if (attr->ia_valid & ATTR_CTIME)
                inode_set_ctime_to_ts(inode, attr->ia_ctime);
        if (attr->ia_valid & ATTR_MODE) {
@@ -1192,7 +1192,7 @@ static int do_truncation(struct ubifs_info *c, struct inode *inode,
        mutex_lock(&ui->ui_mutex);
        ui->ui_size = inode->i_size;
        /* Truncation changes inode [mc]time */
-       inode->i_mtime = inode_set_ctime_current(inode);
+       inode_set_mtime_to_ts(inode, inode_set_ctime_current(inode));
        /* Other attributes may be changed at the same time as well */
        do_attr_changes(inode, attr);
        err = ubifs_jnl_truncate(c, inode, old_size, new_size);
@@ -1239,7 +1239,7 @@ static int do_setattr(struct ubifs_info *c, struct inode *inode,
        mutex_lock(&ui->ui_mutex);
        if (attr->ia_valid & ATTR_SIZE) {
                /* Truncation changes inode [mc]time */
-               inode->i_mtime = inode_set_ctime_current(inode);
+               inode_set_mtime_to_ts(inode, inode_set_ctime_current(inode));
                /* 'truncate_setsize()' changed @i_size, update @ui_size */
                ui->ui_size = inode->i_size;
        }
@@ -1365,9 +1365,9 @@ static inline int mctime_update_needed(const struct inode *inode,
                                       const struct timespec64 *now)
 {
        struct timespec64 ctime = inode_get_ctime(inode);
+       struct timespec64 mtime = inode_get_mtime(inode);
 
-       if (!timespec64_equal(&inode->i_mtime, now) ||
-           !timespec64_equal(&ctime, now))
+       if (!timespec64_equal(&mtime, now) || !timespec64_equal(&ctime, now))
                return 1;
        return 0;
 }
@@ -1429,7 +1429,7 @@ static int update_mctime(struct inode *inode)
                        return err;
 
                mutex_lock(&ui->ui_mutex);
-               inode->i_mtime = inode_set_ctime_current(inode);
+               inode_set_mtime_to_ts(inode, inode_set_ctime_current(inode));
                release = ui->dirty;
                mark_inode_dirty_sync(inode);
                mutex_unlock(&ui->ui_mutex);
@@ -1567,7 +1567,7 @@ static vm_fault_t ubifs_vm_page_mkwrite(struct vm_fault *vmf)
                struct ubifs_inode *ui = ubifs_inode(inode);
 
                mutex_lock(&ui->ui_mutex);
-               inode->i_mtime = inode_set_ctime_current(inode);
+               inode_set_mtime_to_ts(inode, inode_set_ctime_current(inode));
                release = ui->dirty;
                mark_inode_dirty_sync(inode);
                mutex_unlock(&ui->ui_mutex);
index ffc9beee7be650f125a93114562e356a7db1d5af..d69d2154645b22a998687e3076ea8ad34477d4fb 100644 (file)
@@ -452,12 +452,12 @@ static void pack_inode(struct ubifs_info *c, struct ubifs_ino_node *ino,
        ino->ch.node_type = UBIFS_INO_NODE;
        ino_key_init_flash(c, &ino->key, inode->i_ino);
        ino->creat_sqnum = cpu_to_le64(ui->creat_sqnum);
-       ino->atime_sec  = cpu_to_le64(inode->i_atime.tv_sec);
-       ino->atime_nsec = cpu_to_le32(inode->i_atime.tv_nsec);
-       ino->ctime_sec  = cpu_to_le64(inode_get_ctime(inode).tv_sec);
-       ino->ctime_nsec = cpu_to_le32(inode_get_ctime(inode).tv_nsec);
-       ino->mtime_sec  = cpu_to_le64(inode->i_mtime.tv_sec);
-       ino->mtime_nsec = cpu_to_le32(inode->i_mtime.tv_nsec);
+       ino->atime_sec  = cpu_to_le64(inode_get_atime_sec(inode));
+       ino->atime_nsec = cpu_to_le32(inode_get_atime_nsec(inode));
+       ino->ctime_sec  = cpu_to_le64(inode_get_ctime_sec(inode));
+       ino->ctime_nsec = cpu_to_le32(inode_get_ctime_nsec(inode));
+       ino->mtime_sec  = cpu_to_le64(inode_get_mtime_sec(inode));
+       ino->mtime_nsec = cpu_to_le32(inode_get_mtime_nsec(inode));
        ino->uid   = cpu_to_le32(i_uid_read(inode));
        ino->gid   = cpu_to_le32(i_gid_read(inode));
        ino->mode  = cpu_to_le32(inode->i_mode);
index b08fb28d16b55be454d3640a04988adc3d42871b..366941d4a18a40bad66beecab9e48ac188c409ce 100644 (file)
@@ -142,10 +142,10 @@ struct inode *ubifs_iget(struct super_block *sb, unsigned long inum)
        set_nlink(inode, le32_to_cpu(ino->nlink));
        i_uid_write(inode, le32_to_cpu(ino->uid));
        i_gid_write(inode, le32_to_cpu(ino->gid));
-       inode->i_atime.tv_sec  = (int64_t)le64_to_cpu(ino->atime_sec);
-       inode->i_atime.tv_nsec = le32_to_cpu(ino->atime_nsec);
-       inode->i_mtime.tv_sec  = (int64_t)le64_to_cpu(ino->mtime_sec);
-       inode->i_mtime.tv_nsec = le32_to_cpu(ino->mtime_nsec);
+       inode_set_atime(inode, (int64_t)le64_to_cpu(ino->atime_sec),
+                       le32_to_cpu(ino->atime_nsec));
+       inode_set_mtime(inode, (int64_t)le64_to_cpu(ino->mtime_sec),
+                       le32_to_cpu(ino->mtime_nsec));
        inode_set_ctime(inode, (int64_t)le64_to_cpu(ino->ctime_sec),
                        le32_to_cpu(ino->ctime_nsec));
        inode->i_mode = le32_to_cpu(ino->mode);