From: Chao Yu <yuchao0@huawei.com>
To: Jaegeuk Kim <jaegeuk@kernel.org>
Cc: <kernel-team@android.com>, <linux-kernel@vger.kernel.org>,
<linux-f2fs-devel@lists.sourceforge.net>
Subject: Re: [f2fs-dev] [PATCH] f2fs: expose # of overprivision segments
Date: Fri, 5 Mar 2021 10:19:31 +0800 [thread overview]
Message-ID: <ee90aac8-bc84-0a85-e1b8-f51c40c77535@huawei.com> (raw)
In-Reply-To: <YEEd1q5nz9EYGy8H@google.com>
On 2021/3/5 1:50, Jaegeuk Kim wrote:
> On 03/04, Chao Yu wrote:
>> On 2021/3/3 2:44, Jaegeuk Kim wrote:
>>> On 03/02, Jaegeuk Kim wrote:
>>>> On 03/02, Chao Yu wrote:
>>>>> On 2021/3/2 13:42, Jaegeuk Kim wrote:
>>>>>> This is useful when checking conditions during checkpoint=disable in Android.
>>>>>
>>>>> This sysfs entry is readonly, how about putting this at
>>>>> /sys/fs/f2fs/<disk>/stat/?
>>>>
>>>> Urg.. "stat" is a bit confused. I'll take a look a better ones.
>>
>> Oh, I mean put it into "stat" directory, not "stat" entry, something like this:
>>
>> /sys/fs/f2fs/<disk>/stat/ovp_segments
>
> I meant that too. Why is it like stat, since it's a geomerty?
Hmm.. I feel a little bit weired to treat ovp_segments as 'stat' class, one reason
is ovp_segments is readonly and is matching the readonly attribute of a stat.
>
>>
>>>
>>> Taking a look at other entries using in Android, I feel that this one can't be
>>> in stat or whatever other location, since I worry about the consistency with
>>> similar dirty/free segments. It seems it's not easy to clean up the existing
>>> ones anymore.
>>
>> Well, actually, the entry number are still increasing continuously, the result is
>> that it becomes more and more slower and harder for me to find target entry name
>> from that directory.
>>
>> IMO, once new readonly entry was added to "<disk>" directory, there is no chance
>> to reloacate it due to interface compatibility. So I think this is the only
>> chance to put it to the appropriate place at this time.
>
> I know, but this will diverge those info into different places. I don't have
> big concern when finding a specific entry with this tho, how about making
> symlinks to create a dir structure for your easy access? Or, using a script
> would be alternative way.
Yes, there should be some alternative ways to help to access f2fs sysfs
interface, but from a point view of user, I'm not sure he can figure out those
ways.
For those fs meta stat, why not adding a single entry to include all info you
need rather than adding them one by one? e.g.
/proc/fs/f2fs/<disk>/super_block
/proc/fs/f2fs/<disk>/checkpoint
/proc/fs/f2fs/<disk>/nat_table
/proc/fs/f2fs/<disk>/sit_table
...
Thanks,
>
>>
>> Thanks,
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
>>>>>> ---
>>>>>> fs/f2fs/sysfs.c | 8 ++++++++
>>>>>> 1 file changed, 8 insertions(+)
>>>>>>
>>>>>> diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
>>>>>> index e38a7f6921dd..254b6fa17406 100644
>>>>>> --- a/fs/f2fs/sysfs.c
>>>>>> +++ b/fs/f2fs/sysfs.c
>>>>>> @@ -91,6 +91,13 @@ static ssize_t free_segments_show(struct f2fs_attr *a,
>>>>>> (unsigned long long)(free_segments(sbi)));
>>>>>> }
>>>>>> +static ssize_t ovp_segments_show(struct f2fs_attr *a,
>>>>>> + struct f2fs_sb_info *sbi, char *buf)
>>>>>> +{
>>>>>> + return sprintf(buf, "%llu\n",
>>>>>> + (unsigned long long)(overprovision_segments(sbi)));
>>>>>> +}
>>>>>> +
>>>>>> static ssize_t lifetime_write_kbytes_show(struct f2fs_attr *a,
>>>>>> struct f2fs_sb_info *sbi, char *buf)
>>>>>> {
>>>>>> @@ -629,6 +636,7 @@ F2FS_RW_ATTR(F2FS_SBI, f2fs_sb_info, node_io_flag, node_io_flag);
>>>>>> F2FS_RW_ATTR(CPRC_INFO, ckpt_req_control, ckpt_thread_ioprio, ckpt_thread_ioprio);
>>>>>> F2FS_GENERAL_RO_ATTR(dirty_segments);
>>>>>> F2FS_GENERAL_RO_ATTR(free_segments);
>>>>>> +F2FS_GENERAL_RO_ATTR(ovp_segments);
>>>>>
>>>>> Missed to add document entry in Documentation/ABI/testing/sysfs-fs-f2fs?
>>>>
>>>> Yeah, thanks.
>>>>
>>>>>
>>>>> Thanks,
>>>>>
>>>>>> F2FS_GENERAL_RO_ATTR(lifetime_write_kbytes);
>>>>>> F2FS_GENERAL_RO_ATTR(features);
>>>>>> F2FS_GENERAL_RO_ATTR(current_reserved_blocks);
>>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Linux-f2fs-devel mailing list
>>>> Linux-f2fs-devel@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
>>> .
>>>
> .
>
next prev parent reply other threads:[~2021-03-05 2:19 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-02 5:42 Jaegeuk Kim
2021-03-02 6:11 ` [f2fs-dev] " Chao Yu
2021-03-02 17:05 ` Jaegeuk Kim
2021-03-02 18:44 ` Jaegeuk Kim
2021-03-04 7:55 ` Chao Yu
2021-03-04 17:50 ` Jaegeuk Kim
2021-03-05 2:19 ` Chao Yu [this message]
2021-03-09 0:07 ` Jaegeuk Kim
2021-03-09 2:50 ` Chao Yu
2021-03-03 19:28 ` [PATCH v2] " Jaegeuk Kim
2021-03-09 9:23 ` [f2fs-dev] " Chao Yu
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=ee90aac8-bc84-0a85-e1b8-f51c40c77535@huawei.com \
--to=yuchao0@huawei.com \
--cc=jaegeuk@kernel.org \
--cc=kernel-team@android.com \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®