@@ -1257,7 +1257,6 @@ enum inode_type {
1257
1257
DIR_INODE , /* for dirty dir inode */
1258
1258
FILE_INODE , /* for dirty regular/symlink inode */
1259
1259
DIRTY_META , /* for all dirtied inode metadata */
1260
- ATOMIC_FILE , /* for all atomic files */
1261
1260
NR_INODE_TYPE ,
1262
1261
};
1263
1262
@@ -1739,7 +1738,6 @@ struct f2fs_sb_info {
1739
1738
unsigned int gc_urgent_high_remaining ; /* remaining trial count for GC_URGENT_HIGH */
1740
1739
1741
1740
/* for skip statistic */
1742
- unsigned int atomic_files ; /* # of opened atomic file */
1743
1741
unsigned long long skipped_gc_rwsem ; /* FG_GC only */
1744
1742
1745
1743
/* threshold for gc trials on pinned files */
@@ -1771,6 +1769,7 @@ struct f2fs_sb_info {
1771
1769
atomic_t compr_inode ; /* # of compressed inodes */
1772
1770
atomic64_t compr_blocks ; /* # of compressed blocks */
1773
1771
atomic_t swapfile_inode ; /* # of swapfile inodes */
1772
+ atomic_t atomic_files ; /* # of opened atomic file */
1774
1773
atomic_t max_aw_cnt ; /* max # of atomic writes */
1775
1774
unsigned int io_skip_bggc ; /* skip background gc for in-flight IO */
1776
1775
unsigned int other_skip_bggc ; /* skip background gc for other reasons */
@@ -3970,6 +3969,10 @@ static inline struct f2fs_stat_info *F2FS_STAT(struct f2fs_sb_info *sbi)
3970
3969
(atomic_inc(&F2FS_I_SB(inode)->swapfile_inode))
3971
3970
#define stat_dec_swapfile_inode (inode ) \
3972
3971
(atomic_dec(&F2FS_I_SB(inode)->swapfile_inode))
3972
+ #define stat_inc_atomic_inode (inode ) \
3973
+ (atomic_inc(&F2FS_I_SB(inode)->atomic_files))
3974
+ #define stat_dec_atomic_inode (inode ) \
3975
+ (atomic_dec(&F2FS_I_SB(inode)->atomic_files))
3973
3976
#define stat_inc_meta_count (sbi , blkaddr ) \
3974
3977
do { \
3975
3978
if (blkaddr < SIT_I(sbi)->sit_base_addr) \
@@ -3989,7 +3992,7 @@ static inline struct f2fs_stat_info *F2FS_STAT(struct f2fs_sb_info *sbi)
3989
3992
(atomic_inc(&(sbi)->inplace_count))
3990
3993
#define stat_update_max_atomic_write (inode ) \
3991
3994
do { \
3992
- int cur = F2FS_I_SB(inode)->atomic_files; \
3995
+ int cur = atomic_read(& F2FS_I_SB(inode)->atomic_files) ; \
3993
3996
int max = atomic_read(&F2FS_I_SB(inode)->max_aw_cnt); \
3994
3997
if (cur > max) \
3995
3998
atomic_set(&F2FS_I_SB(inode)->max_aw_cnt, cur); \
@@ -4056,6 +4059,8 @@ void f2fs_update_sit_info(struct f2fs_sb_info *sbi);
4056
4059
#define stat_sub_compr_blocks (inode , blocks ) do { } while (0)
4057
4060
#define stat_inc_swapfile_inode (inode ) do { } while (0)
4058
4061
#define stat_dec_swapfile_inode (inode ) do { } while (0)
4062
+ #define stat_inc_atomic_inode (inode ) do { } while (0)
4063
+ #define stat_dec_atomic_inode (inode ) do { } while (0)
4059
4064
#define stat_update_max_atomic_write (inode ) do { } while (0)
4060
4065
#define stat_inc_meta_count (sbi , blkaddr ) do { } while (0)
4061
4066
#define stat_inc_seg_type (sbi , curseg ) do { } while (0)
0 commit comments