]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
f2fs: change compr_blocks of superblock info to 64bit
authorDaeho Jeong <daehojeong@google.com>
Mon, 31 Aug 2020 02:09:49 +0000 (11:09 +0900)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 11 Sep 2020 18:11:25 +0000 (11:11 -0700)
Current compr_blocks of superblock info is not 64bit value. We are
accumulating each i_compr_blocks count of inodes to this value and
those are 64bit values. So, need to change this to 64bit value.

Signed-off-by: Daeho Jeong <daehojeong@google.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/debug.c
fs/f2fs/f2fs.h

index cb679561f44d6afc68b356242f935612fd5817c6..f3cc34db86d700965a32f304d0b96f174506a907 100644 (file)
@@ -131,7 +131,7 @@ static void update_general_status(struct f2fs_sb_info *sbi)
        si->inline_inode = atomic_read(&sbi->inline_inode);
        si->inline_dir = atomic_read(&sbi->inline_dir);
        si->compr_inode = atomic_read(&sbi->compr_inode);
-       si->compr_blocks = atomic_read(&sbi->compr_blocks);
+       si->compr_blocks = atomic64_read(&sbi->compr_blocks);
        si->append = sbi->im[APPEND_INO].ino_num;
        si->update = sbi->im[UPDATE_INO].ino_num;
        si->orphans = sbi->im[ORPHAN_INO].ino_num;
@@ -342,7 +342,7 @@ static int stat_show(struct seq_file *s, void *v)
                           si->inline_inode);
                seq_printf(s, "  - Inline_dentry Inode: %u\n",
                           si->inline_dir);
-               seq_printf(s, "  - Compressed Inode: %u, Blocks: %u\n",
+               seq_printf(s, "  - Compressed Inode: %u, Blocks: %llu\n",
                           si->compr_inode, si->compr_blocks);
                seq_printf(s, "  - Orphan/Append/Update Inode: %u, %u, %u\n",
                           si->orphans, si->append, si->update);
@@ -550,7 +550,7 @@ int f2fs_build_stats(struct f2fs_sb_info *sbi)
        atomic_set(&sbi->inline_inode, 0);
        atomic_set(&sbi->inline_dir, 0);
        atomic_set(&sbi->compr_inode, 0);
-       atomic_set(&sbi->compr_blocks, 0);
+       atomic64_set(&sbi->compr_blocks, 0);
        atomic_set(&sbi->inplace_count, 0);
        for (i = META_CP; i < META_MAX; i++)
                atomic_set(&sbi->meta_count[i], 0);
index eedfea9503f8ee55401e77f665bc83e524b51123..27f4a839f9066eab5336d48ea7f3d5717590f0fb 100644 (file)
@@ -1573,7 +1573,7 @@ struct f2fs_sb_info {
        atomic_t inline_inode;                  /* # of inline_data inodes */
        atomic_t inline_dir;                    /* # of inline_dentry inodes */
        atomic_t compr_inode;                   /* # of compressed inodes */
-       atomic_t compr_blocks;                  /* # of compressed blocks */
+       atomic64_t compr_blocks;                /* # of compressed blocks */
        atomic_t vw_cnt;                        /* # of volatile writes */
        atomic_t max_aw_cnt;                    /* max # of atomic writes */
        atomic_t max_vw_cnt;                    /* max # of volatile writes */
@@ -3562,7 +3562,8 @@ struct f2fs_stat_info {
        int nr_discard_cmd;
        unsigned int undiscard_blks;
        int inline_xattr, inline_inode, inline_dir, append, update, orphans;
-       int compr_inode, compr_blocks;
+       int compr_inode;
+       unsigned long long compr_blocks;
        int aw_cnt, max_aw_cnt, vw_cnt, max_vw_cnt;
        unsigned int valid_count, valid_node_count, valid_inode_count, discard_blks;
        unsigned int bimodal, avg_vblocks;
@@ -3647,9 +3648,9 @@ static inline struct f2fs_stat_info *F2FS_STAT(struct f2fs_sb_info *sbi)
                        (atomic_dec(&F2FS_I_SB(inode)->compr_inode));   \
        } while (0)
 #define stat_add_compr_blocks(inode, blocks)                           \
-               (atomic_add(blocks, &F2FS_I_SB(inode)->compr_blocks))
+               (atomic64_add(blocks, &F2FS_I_SB(inode)->compr_blocks))
 #define stat_sub_compr_blocks(inode, blocks)                           \
-               (atomic_sub(blocks, &F2FS_I_SB(inode)->compr_blocks))
+               (atomic64_sub(blocks, &F2FS_I_SB(inode)->compr_blocks))
 #define stat_inc_meta_count(sbi, blkaddr)                              \
        do {                                                            \
                if (blkaddr < SIT_I(sbi)->sit_base_addr)                \