All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fengnan Chang <changfengnan@vivo.com>
To: Chao Yu <chao@kernel.org>, Jaegeuk Kim <jaegeuk@kernel.org>
Cc: linux-f2fs-devel@lists.sourceforge.net
Subject: Re: [f2fs-dev] [PATCH] f2fs: fix missing inplace count in overwrite with direct io
Date: Wed, 18 Aug 2021 11:49:59 +0800	[thread overview]
Message-ID: <996dff14-19ec-5ce7-95c8-bb6487344705@vivo.com> (raw)
In-Reply-To: <3b339c10-f4bc-48f4-4c77-84e904dfa9cb@kernel.org>



On 2021/8/13 9:36, Chao Yu wrote:
> On 2021/8/13 5:15, Jaegeuk Kim wrote:
>> 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?
> 
> Similar reason as we did for buffered IO?

For now, LFS & SSR are count in DIO, but not count IPU,  I think we 
should keep consistency.

> 
> Thanks,
> 
>>
>>>
>>> Jaegeuk, thoughts?
>>>
>>> Thanks,
>>>
>>>>
>>>> Signed-off-by: Fengnan Chang <changfengnan@vivo.com>
>>>> ---
>>>>    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
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

  reply	other threads:[~2021-08-18  3:50 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-29 12:25 [f2fs-dev] [PATCH] f2fs: fix missing inplace count in overwrite with direct io Fengnan Chang
2021-08-06  1:00 ` Chao Yu
2021-08-12 21:15   ` Jaegeuk Kim
2021-08-13  1:36     ` Chao Yu
2021-08-18  3:49       ` Fengnan Chang [this message]
2021-08-20  9:41         ` Chao Yu
2021-08-23 12:07           ` Fengnan Chang
2021-08-24  0:09             ` Chao Yu
2021-08-24  3:01               ` Fengnan Chang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=996dff14-19ec-5ce7-95c8-bb6487344705@vivo.com \
    --to=changfengnan@vivo.com \
    --cc=chao@kernel.org \
    --cc=jaegeuk@kernel.org \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.