OSDN Git Service

Merge tag 'v6.6-vfs.ctime' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
[tomoyo/tomoyo-test1.git] / fs / erofs / inode.c
index e125927..edc8ec7 100644 (file)
@@ -105,8 +105,8 @@ static void *erofs_read_inode(struct erofs_buf *buf,
                set_nlink(inode, le32_to_cpu(die->i_nlink));
 
                /* extended inode has its own timestamp */
-               inode->i_ctime.tv_sec = le64_to_cpu(die->i_mtime);
-               inode->i_ctime.tv_nsec = le32_to_cpu(die->i_mtime_nsec);
+               inode_set_ctime(inode, le64_to_cpu(die->i_mtime),
+                               le32_to_cpu(die->i_mtime_nsec));
 
                inode->i_size = le64_to_cpu(die->i_size);
 
@@ -148,8 +148,7 @@ static void *erofs_read_inode(struct erofs_buf *buf,
                set_nlink(inode, le16_to_cpu(dic->i_nlink));
 
                /* use build time for compact inodes */
-               inode->i_ctime.tv_sec = sbi->build_time;
-               inode->i_ctime.tv_nsec = sbi->build_time_nsec;
+               inode_set_ctime(inode, sbi->build_time, sbi->build_time_nsec);
 
                inode->i_size = le32_to_cpu(dic->i_size);
                if (erofs_inode_is_data_compressed(vi->datalayout))
@@ -176,10 +175,7 @@ static void *erofs_read_inode(struct erofs_buf *buf,
                vi->chunkbits = sb->s_blocksize_bits +
                        (vi->chunkformat & EROFS_CHUNK_FORMAT_BLKBITS_MASK);
        }
-       inode->i_mtime.tv_sec = inode->i_ctime.tv_sec;
-       inode->i_atime.tv_sec = inode->i_ctime.tv_sec;
-       inode->i_mtime.tv_nsec = inode->i_ctime.tv_nsec;
-       inode->i_atime.tv_nsec = inode->i_ctime.tv_nsec;
+       inode->i_mtime = inode->i_atime = inode_get_ctime(inode);
 
        inode->i_flags &= ~S_DAX;
        if (test_opt(&sbi->opt, DAX_ALWAYS) && S_ISREG(inode->i_mode) &&
@@ -373,7 +369,7 @@ int erofs_getattr(struct mnt_idmap *idmap, const struct path *path,
        stat->attributes_mask |= (STATX_ATTR_COMPRESSED |
                                  STATX_ATTR_IMMUTABLE);
 
-       generic_fillattr(idmap, inode, stat);
+       generic_fillattr(idmap, request_mask, inode, stat);
        return 0;
 }