On 08/06, Chao Yu wrote: > On 2021/7/29 20:25, Fengnan Chang wrote: > > For now, overwrite file with direct io use inplace policy, but not > > counted, fix it. > > IMO, LFS/SSR/IPU stats in debugfs was for buffered write, maybe we > need to add separated one for DIO.
Do we really need to monitor DIO stats? > > Jaegeuk, thoughts? > > Thanks, > > > > > Signed-off-by: Fengnan Chang <[email protected]> > > --- > > fs/f2fs/data.c | 6 ++++++ > > fs/f2fs/f2fs.h | 2 ++ > > 2 files changed, 8 insertions(+) > > > > diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c > > index d2cf48c5a2e4..60510acf91ec 100644 > > --- a/fs/f2fs/data.c > > +++ b/fs/f2fs/data.c > > @@ -1477,6 +1477,9 @@ int f2fs_map_blocks(struct inode *inode, struct > > f2fs_map_blocks *map, > > if (flag == F2FS_GET_BLOCK_DIO) > > f2fs_wait_on_block_writeback_range(inode, > > map->m_pblk, map->m_len); > > + if (!f2fs_lfs_mode(sbi) && flag == F2FS_GET_BLOCK_DIO && > > + map->m_may_create) > > + stat_add_inplace_blocks(sbi, map->m_len); > > goto out; > > } > > @@ -1526,6 +1529,9 @@ int f2fs_map_blocks(struct inode *inode, struct > > f2fs_map_blocks *map, > > blkaddr = dn.data_blkaddr; > > set_inode_flag(inode, FI_APPEND_WRITE); > > } > > + if (!create && !f2fs_lfs_mode(sbi) && flag == > > F2FS_GET_BLOCK_DIO && > > + map->m_may_create) > > + stat_inc_inplace_blocks(sbi); > > } else { > > if (create) { > > if (unlikely(f2fs_cp_error(sbi))) { > > diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h > > index 867f2c5d9559..3a9df28e6fd7 100644 > > --- a/fs/f2fs/f2fs.h > > +++ b/fs/f2fs/f2fs.h > > @@ -3804,6 +3804,8 @@ static inline struct f2fs_stat_info *F2FS_STAT(struct > > f2fs_sb_info *sbi) > > ((sbi)->block_count[(curseg)->alloc_type]++) > > #define stat_inc_inplace_blocks(sbi) > > \ > > (atomic_inc(&(sbi)->inplace_count)) > > +#define stat_add_inplace_blocks(sbi, count) > > \ > > + (atomic_add(count, &(sbi)->inplace_count)) > > #define stat_update_max_atomic_write(inode) > > \ > > do { \ > > int cur = F2FS_I_SB(inode)->atomic_files; \ > > _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
