2020-10-16 06:02:42

by Daeho Jeong

[permalink] [raw]
Subject: [PATCH] f2fs: add compr_inode and compr_blocks sysfs nodes

From: Daeho Jeong <[email protected]>

Added compr_inode to show compressed inode count and compr_blocks to
show compressed block count in sysfs.

Signed-off-by: Daeho Jeong <[email protected]>
---
Documentation/ABI/testing/sysfs-fs-f2fs | 10 ++++++++++
fs/f2fs/sysfs.c | 17 +++++++++++++++++
2 files changed, 27 insertions(+)

diff --git a/Documentation/ABI/testing/sysfs-fs-f2fs b/Documentation/ABI/testing/sysfs-fs-f2fs
index 834d0becae6d..a01c26484c69 100644
--- a/Documentation/ABI/testing/sysfs-fs-f2fs
+++ b/Documentation/ABI/testing/sysfs-fs-f2fs
@@ -350,3 +350,13 @@ Date: April 2020
Contact: "Daeho Jeong" <[email protected]>
Description: Give a way to change iostat_period time. 3secs by default.
The new iostat trace gives stats gap given the period.
+
+What: /sys/fs/f2fs/<disk>/compr_inode
+Date: October 2020
+Contact: "Daeho Jeong" <[email protected]>
+Description: Show compressed inode count
+
+What: /sys/fs/f2fs/<disk>/compr_blocks
+Date: October 2020
+Contact: "Daeho Jeong" <[email protected]>
+Description: Show compressed block count
diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
index 94c98e412aa1..7139a29a00d3 100644
--- a/fs/f2fs/sysfs.c
+++ b/fs/f2fs/sysfs.c
@@ -223,6 +223,19 @@ static ssize_t avg_vblocks_show(struct f2fs_attr *a,
f2fs_update_sit_info(sbi);
return sprintf(buf, "%llu\n", (unsigned long long)(si->avg_vblocks));
}
+
+static ssize_t compr_inode_show(struct f2fs_attr *a,
+ struct f2fs_sb_info *sbi, char *buf)
+{
+ return sprintf(buf, "%u\n", atomic_read(&sbi->compr_inode));
+}
+
+static ssize_t compr_blocks_show(struct f2fs_attr *a,
+ struct f2fs_sb_info *sbi, char *buf)
+{
+ return sprintf(buf, "%llu\n", atomic64_read(&sbi->compr_blocks));
+}
+
#endif

static ssize_t main_blkaddr_show(struct f2fs_attr *a,
@@ -591,6 +604,8 @@ F2FS_STAT_ATTR(STAT_INFO, f2fs_stat_info, gc_background_calls, bg_gc);
F2FS_GENERAL_RO_ATTR(moved_blocks_background);
F2FS_GENERAL_RO_ATTR(moved_blocks_foreground);
F2FS_GENERAL_RO_ATTR(avg_vblocks);
+F2FS_GENERAL_RO_ATTR(compr_inode);
+F2FS_GENERAL_RO_ATTR(compr_blocks);
#endif

#ifdef CONFIG_FS_ENCRYPTION
@@ -675,6 +690,8 @@ static struct attribute *f2fs_attrs[] = {
ATTR_LIST(moved_blocks_foreground),
ATTR_LIST(moved_blocks_background),
ATTR_LIST(avg_vblocks),
+ ATTR_LIST(compr_inode),
+ ATTR_LIST(compr_blocks),
#endif
NULL,
};
--
2.29.0.rc1.297.gfa9743e501-goog


2020-10-21 12:39:05

by Chao Yu

[permalink] [raw]
Subject: Re: [f2fs-dev] [PATCH] f2fs: add compr_inode and compr_blocks sysfs nodes

On 2020/10/16 13:14, Daeho Jeong wrote:
> From: Daeho Jeong <[email protected]>
>
> Added compr_inode to show compressed inode count and compr_blocks to
> show compressed block count in sysfs.

As there are so many entries in ../f2fs/<disk>/ directory, it looks a mess
there, I suggest that we can add a new directory 'stats' in ../f2fs/<disk>/,
in where we can store all readonly stats related entries there later.

How do you think?

Thanks,

>
> Signed-off-by: Daeho Jeong <[email protected]>
> ---
> Documentation/ABI/testing/sysfs-fs-f2fs | 10 ++++++++++
> fs/f2fs/sysfs.c | 17 +++++++++++++++++
> 2 files changed, 27 insertions(+)
>
> diff --git a/Documentation/ABI/testing/sysfs-fs-f2fs b/Documentation/ABI/testing/sysfs-fs-f2fs
> index 834d0becae6d..a01c26484c69 100644
> --- a/Documentation/ABI/testing/sysfs-fs-f2fs
> +++ b/Documentation/ABI/testing/sysfs-fs-f2fs
> @@ -350,3 +350,13 @@ Date: April 2020
> Contact: "Daeho Jeong" <[email protected]>
> Description: Give a way to change iostat_period time. 3secs by default.
> The new iostat trace gives stats gap given the period.
> +
> +What: /sys/fs/f2fs/<disk>/compr_inode
> +Date: October 2020
> +Contact: "Daeho Jeong" <[email protected]>
> +Description: Show compressed inode count
> +
> +What: /sys/fs/f2fs/<disk>/compr_blocks
> +Date: October 2020
> +Contact: "Daeho Jeong" <[email protected]>
> +Description: Show compressed block count
> diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
> index 94c98e412aa1..7139a29a00d3 100644
> --- a/fs/f2fs/sysfs.c
> +++ b/fs/f2fs/sysfs.c
> @@ -223,6 +223,19 @@ static ssize_t avg_vblocks_show(struct f2fs_attr *a,
> f2fs_update_sit_info(sbi);
> return sprintf(buf, "%llu\n", (unsigned long long)(si->avg_vblocks));
> }
> +
> +static ssize_t compr_inode_show(struct f2fs_attr *a,
> + struct f2fs_sb_info *sbi, char *buf)
> +{
> + return sprintf(buf, "%u\n", atomic_read(&sbi->compr_inode));
> +}
> +
> +static ssize_t compr_blocks_show(struct f2fs_attr *a,
> + struct f2fs_sb_info *sbi, char *buf)
> +{
> + return sprintf(buf, "%llu\n", atomic64_read(&sbi->compr_blocks));
> +}
> +
> #endif
>
> static ssize_t main_blkaddr_show(struct f2fs_attr *a,
> @@ -591,6 +604,8 @@ F2FS_STAT_ATTR(STAT_INFO, f2fs_stat_info, gc_background_calls, bg_gc);
> F2FS_GENERAL_RO_ATTR(moved_blocks_background);
> F2FS_GENERAL_RO_ATTR(moved_blocks_foreground);
> F2FS_GENERAL_RO_ATTR(avg_vblocks);
> +F2FS_GENERAL_RO_ATTR(compr_inode);
> +F2FS_GENERAL_RO_ATTR(compr_blocks);
> #endif
>
> #ifdef CONFIG_FS_ENCRYPTION
> @@ -675,6 +690,8 @@ static struct attribute *f2fs_attrs[] = {
> ATTR_LIST(moved_blocks_foreground),
> ATTR_LIST(moved_blocks_background),
> ATTR_LIST(avg_vblocks),
> + ATTR_LIST(compr_inode),
> + ATTR_LIST(compr_blocks),
> #endif
> NULL,
> };
>

2020-10-21 18:39:43

by Eric Biggers

[permalink] [raw]
Subject: Re: [f2fs-dev] [PATCH] f2fs: add compr_inode and compr_blocks sysfs nodes

On Fri, Oct 16, 2020 at 02:14:55PM +0900, Daeho Jeong wrote:
> From: Daeho Jeong <[email protected]>
>
> Added compr_inode to show compressed inode count and compr_blocks to
> show compressed block count in sysfs.
>
> Signed-off-by: Daeho Jeong <[email protected]>
> ---
> Documentation/ABI/testing/sysfs-fs-f2fs | 10 ++++++++++
> fs/f2fs/sysfs.c | 17 +++++++++++++++++
> 2 files changed, 27 insertions(+)
>
> diff --git a/Documentation/ABI/testing/sysfs-fs-f2fs b/Documentation/ABI/testing/sysfs-fs-f2fs
> index 834d0becae6d..a01c26484c69 100644
> --- a/Documentation/ABI/testing/sysfs-fs-f2fs
> +++ b/Documentation/ABI/testing/sysfs-fs-f2fs
> @@ -350,3 +350,13 @@ Date: April 2020
> Contact: "Daeho Jeong" <[email protected]>
> Description: Give a way to change iostat_period time. 3secs by default.
> The new iostat trace gives stats gap given the period.
> +
> +What: /sys/fs/f2fs/<disk>/compr_inode
> +Date: October 2020
> +Contact: "Daeho Jeong" <[email protected]>
> +Description: Show compressed inode count
> +
> +What: /sys/fs/f2fs/<disk>/compr_blocks
> +Date: October 2020
> +Contact: "Daeho Jeong" <[email protected]>
> +Description: Show compressed block count

Is it the count in memory, or on disk?

- Eric

2020-10-21 18:40:15

by Daeho Jeong

[permalink] [raw]
Subject: Re: [f2fs-dev] [PATCH] f2fs: add compr_inode and compr_blocks sysfs nodes

Both values are from memory values.

2020년 10월 21일 (수) 오후 1:36, Eric Biggers <[email protected]>님이 작성:

>
> On Fri, Oct 16, 2020 at 02:14:55PM +0900, Daeho Jeong wrote:
> > From: Daeho Jeong <[email protected]>
> >
> > Added compr_inode to show compressed inode count and compr_blocks to
> > show compressed block count in sysfs.
> >
> > Signed-off-by: Daeho Jeong <[email protected]>
> > ---
> > Documentation/ABI/testing/sysfs-fs-f2fs | 10 ++++++++++
> > fs/f2fs/sysfs.c | 17 +++++++++++++++++
> > 2 files changed, 27 insertions(+)
> >
> > diff --git a/Documentation/ABI/testing/sysfs-fs-f2fs b/Documentation/ABI/testing/sysfs-fs-f2fs
> > index 834d0becae6d..a01c26484c69 100644
> > --- a/Documentation/ABI/testing/sysfs-fs-f2fs
> > +++ b/Documentation/ABI/testing/sysfs-fs-f2fs
> > @@ -350,3 +350,13 @@ Date: April 2020
> > Contact: "Daeho Jeong" <[email protected]>
> > Description: Give a way to change iostat_period time. 3secs by default.
> > The new iostat trace gives stats gap given the period.
> > +
> > +What: /sys/fs/f2fs/<disk>/compr_inode
> > +Date: October 2020
> > +Contact: "Daeho Jeong" <[email protected]>
> > +Description: Show compressed inode count
> > +
> > +What: /sys/fs/f2fs/<disk>/compr_blocks
> > +Date: October 2020
> > +Contact: "Daeho Jeong" <[email protected]>
> > +Description: Show compressed block count
>
> Is it the count in memory, or on disk?
>
> - Eric

2020-10-22 08:09:29

by Daeho Jeong

[permalink] [raw]
Subject: Re: [f2fs-dev] [PATCH] f2fs: add compr_inode and compr_blocks sysfs nodes

Yep, It sounds good to me.

2020년 10월 21일 (수) 오후 3:08, Chao Yu <[email protected]>님이 작성:
>
> On 2020/10/16 13:14, Daeho Jeong wrote:
> > From: Daeho Jeong <[email protected]>
> >
> > Added compr_inode to show compressed inode count and compr_blocks to
> > show compressed block count in sysfs.
>
> As there are so many entries in ../f2fs/<disk>/ directory, it looks a mess
> there, I suggest that we can add a new directory 'stats' in ../f2fs/<disk>/,
> in where we can store all readonly stats related entries there later.
>
> How do you think?
>
> Thanks,
>
> >
> > Signed-off-by: Daeho Jeong <[email protected]>
> > ---
> > Documentation/ABI/testing/sysfs-fs-f2fs | 10 ++++++++++
> > fs/f2fs/sysfs.c | 17 +++++++++++++++++
> > 2 files changed, 27 insertions(+)
> >
> > diff --git a/Documentation/ABI/testing/sysfs-fs-f2fs b/Documentation/ABI/testing/sysfs-fs-f2fs
> > index 834d0becae6d..a01c26484c69 100644
> > --- a/Documentation/ABI/testing/sysfs-fs-f2fs
> > +++ b/Documentation/ABI/testing/sysfs-fs-f2fs
> > @@ -350,3 +350,13 @@ Date: April 2020
> > Contact: "Daeho Jeong" <[email protected]>
> > Description: Give a way to change iostat_period time. 3secs by default.
> > The new iostat trace gives stats gap given the period.
> > +
> > +What: /sys/fs/f2fs/<disk>/compr_inode
> > +Date: October 2020
> > +Contact: "Daeho Jeong" <[email protected]>
> > +Description: Show compressed inode count
> > +
> > +What: /sys/fs/f2fs/<disk>/compr_blocks
> > +Date: October 2020
> > +Contact: "Daeho Jeong" <[email protected]>
> > +Description: Show compressed block count
> > diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
> > index 94c98e412aa1..7139a29a00d3 100644
> > --- a/fs/f2fs/sysfs.c
> > +++ b/fs/f2fs/sysfs.c
> > @@ -223,6 +223,19 @@ static ssize_t avg_vblocks_show(struct f2fs_attr *a,
> > f2fs_update_sit_info(sbi);
> > return sprintf(buf, "%llu\n", (unsigned long long)(si->avg_vblocks));
> > }
> > +
> > +static ssize_t compr_inode_show(struct f2fs_attr *a,
> > + struct f2fs_sb_info *sbi, char *buf)
> > +{
> > + return sprintf(buf, "%u\n", atomic_read(&sbi->compr_inode));
> > +}
> > +
> > +static ssize_t compr_blocks_show(struct f2fs_attr *a,
> > + struct f2fs_sb_info *sbi, char *buf)
> > +{
> > + return sprintf(buf, "%llu\n", atomic64_read(&sbi->compr_blocks));
> > +}
> > +
> > #endif
> >
> > static ssize_t main_blkaddr_show(struct f2fs_attr *a,
> > @@ -591,6 +604,8 @@ F2FS_STAT_ATTR(STAT_INFO, f2fs_stat_info, gc_background_calls, bg_gc);
> > F2FS_GENERAL_RO_ATTR(moved_blocks_background);
> > F2FS_GENERAL_RO_ATTR(moved_blocks_foreground);
> > F2FS_GENERAL_RO_ATTR(avg_vblocks);
> > +F2FS_GENERAL_RO_ATTR(compr_inode);
> > +F2FS_GENERAL_RO_ATTR(compr_blocks);
> > #endif
> >
> > #ifdef CONFIG_FS_ENCRYPTION
> > @@ -675,6 +690,8 @@ static struct attribute *f2fs_attrs[] = {
> > ATTR_LIST(moved_blocks_foreground),
> > ATTR_LIST(moved_blocks_background),
> > ATTR_LIST(avg_vblocks),
> > + ATTR_LIST(compr_inode),
> > + ATTR_LIST(compr_blocks),
> > #endif
> > NULL,
> > };
> >

2020-11-27 09:46:20

by Chao Yu

[permalink] [raw]
Subject: Re: [f2fs-dev] [PATCH] f2fs: add compr_inode and compr_blocks sysfs nodes

Daeho,

How about updating this patch based on below patch?

f2fs: introduce a new per-sb directory in sysfs

On 2020/10/22 10:53, Daeho Jeong wrote:
> Yep, It sounds good to me.
>
> 2020년 10월 21일 (수) 오후 3:08, Chao Yu <[email protected]>님이 작성:
>>
>> On 2020/10/16 13:14, Daeho Jeong wrote:
>>> From: Daeho Jeong <[email protected]>
>>>
>>> Added compr_inode to show compressed inode count and compr_blocks to
>>> show compressed block count in sysfs.
>>
>> As there are so many entries in ../f2fs/<disk>/ directory, it looks a mess
>> there, I suggest that we can add a new directory 'stats' in ../f2fs/<disk>/,
>> in where we can store all readonly stats related entries there later.
>>
>> How do you think?
>>
>> Thanks,
>>
>>>
>>> Signed-off-by: Daeho Jeong <[email protected]>
>>> ---
>>> Documentation/ABI/testing/sysfs-fs-f2fs | 10 ++++++++++
>>> fs/f2fs/sysfs.c | 17 +++++++++++++++++
>>> 2 files changed, 27 insertions(+)
>>>
>>> diff --git a/Documentation/ABI/testing/sysfs-fs-f2fs b/Documentation/ABI/testing/sysfs-fs-f2fs
>>> index 834d0becae6d..a01c26484c69 100644
>>> --- a/Documentation/ABI/testing/sysfs-fs-f2fs
>>> +++ b/Documentation/ABI/testing/sysfs-fs-f2fs
>>> @@ -350,3 +350,13 @@ Date: April 2020
>>> Contact: "Daeho Jeong" <[email protected]>
>>> Description: Give a way to change iostat_period time. 3secs by default.
>>> The new iostat trace gives stats gap given the period.
>>> +
>>> +What: /sys/fs/f2fs/<disk>/compr_inode
>>> +Date: October 2020
>>> +Contact: "Daeho Jeong" <[email protected]>
>>> +Description: Show compressed inode count
>>> +
>>> +What: /sys/fs/f2fs/<disk>/compr_blocks
>>> +Date: October 2020
>>> +Contact: "Daeho Jeong" <[email protected]>
>>> +Description: Show compressed block count
>>> diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
>>> index 94c98e412aa1..7139a29a00d3 100644
>>> --- a/fs/f2fs/sysfs.c
>>> +++ b/fs/f2fs/sysfs.c
>>> @@ -223,6 +223,19 @@ static ssize_t avg_vblocks_show(struct f2fs_attr *a,
>>> f2fs_update_sit_info(sbi);
>>> return sprintf(buf, "%llu\n", (unsigned long long)(si->avg_vblocks));
>>> }
>>> +
>>> +static ssize_t compr_inode_show(struct f2fs_attr *a,
>>> + struct f2fs_sb_info *sbi, char *buf)
>>> +{
>>> + return sprintf(buf, "%u\n", atomic_read(&sbi->compr_inode));
>>> +}
>>> +
>>> +static ssize_t compr_blocks_show(struct f2fs_attr *a,
>>> + struct f2fs_sb_info *sbi, char *buf)
>>> +{
>>> + return sprintf(buf, "%llu\n", atomic64_read(&sbi->compr_blocks));
>>> +}
>>> +
>>> #endif
>>>
>>> static ssize_t main_blkaddr_show(struct f2fs_attr *a,
>>> @@ -591,6 +604,8 @@ F2FS_STAT_ATTR(STAT_INFO, f2fs_stat_info, gc_background_calls, bg_gc);
>>> F2FS_GENERAL_RO_ATTR(moved_blocks_background);
>>> F2FS_GENERAL_RO_ATTR(moved_blocks_foreground);
>>> F2FS_GENERAL_RO_ATTR(avg_vblocks);
>>> +F2FS_GENERAL_RO_ATTR(compr_inode);
>>> +F2FS_GENERAL_RO_ATTR(compr_blocks);
>>> #endif
>>>
>>> #ifdef CONFIG_FS_ENCRYPTION
>>> @@ -675,6 +690,8 @@ static struct attribute *f2fs_attrs[] = {
>>> ATTR_LIST(moved_blocks_foreground),
>>> ATTR_LIST(moved_blocks_background),
>>> ATTR_LIST(avg_vblocks),
>>> + ATTR_LIST(compr_inode),
>>> + ATTR_LIST(compr_blocks),
>>> #endif
>>> NULL,
>>> };
>>>
> .
>

2020-11-30 02:08:43

by Daeho Jeong

[permalink] [raw]
Subject: Re: [f2fs-dev] [PATCH] f2fs: add compr_inode and compr_blocks sysfs nodes

Sure, but I don't think we need to expose compr_inode and compr_block right now.

2020년 11월 27일 (금) 오후 6:44, Chao Yu <[email protected]>님이 작성:
>
> Daeho,
>
> How about updating this patch based on below patch?
>
> f2fs: introduce a new per-sb directory in sysfs
>
> On 2020/10/22 10:53, Daeho Jeong wrote:
> > Yep, It sounds good to me.
> >
> > 2020년 10월 21일 (수) 오후 3:08, Chao Yu <[email protected]>님이 작성:
> >>
> >> On 2020/10/16 13:14, Daeho Jeong wrote:
> >>> From: Daeho Jeong <[email protected]>
> >>>
> >>> Added compr_inode to show compressed inode count and compr_blocks to
> >>> show compressed block count in sysfs.
> >>
> >> As there are so many entries in ../f2fs/<disk>/ directory, it looks a mess
> >> there, I suggest that we can add a new directory 'stats' in ../f2fs/<disk>/,
> >> in where we can store all readonly stats related entries there later.
> >>
> >> How do you think?
> >>
> >> Thanks,
> >>
> >>>
> >>> Signed-off-by: Daeho Jeong <[email protected]>
> >>> ---
> >>> Documentation/ABI/testing/sysfs-fs-f2fs | 10 ++++++++++
> >>> fs/f2fs/sysfs.c | 17 +++++++++++++++++
> >>> 2 files changed, 27 insertions(+)
> >>>
> >>> diff --git a/Documentation/ABI/testing/sysfs-fs-f2fs b/Documentation/ABI/testing/sysfs-fs-f2fs
> >>> index 834d0becae6d..a01c26484c69 100644
> >>> --- a/Documentation/ABI/testing/sysfs-fs-f2fs
> >>> +++ b/Documentation/ABI/testing/sysfs-fs-f2fs
> >>> @@ -350,3 +350,13 @@ Date: April 2020
> >>> Contact: "Daeho Jeong" <[email protected]>
> >>> Description: Give a way to change iostat_period time. 3secs by default.
> >>> The new iostat trace gives stats gap given the period.
> >>> +
> >>> +What: /sys/fs/f2fs/<disk>/compr_inode
> >>> +Date: October 2020
> >>> +Contact: "Daeho Jeong" <[email protected]>
> >>> +Description: Show compressed inode count
> >>> +
> >>> +What: /sys/fs/f2fs/<disk>/compr_blocks
> >>> +Date: October 2020
> >>> +Contact: "Daeho Jeong" <[email protected]>
> >>> +Description: Show compressed block count
> >>> diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
> >>> index 94c98e412aa1..7139a29a00d3 100644
> >>> --- a/fs/f2fs/sysfs.c
> >>> +++ b/fs/f2fs/sysfs.c
> >>> @@ -223,6 +223,19 @@ static ssize_t avg_vblocks_show(struct f2fs_attr *a,
> >>> f2fs_update_sit_info(sbi);
> >>> return sprintf(buf, "%llu\n", (unsigned long long)(si->avg_vblocks));
> >>> }
> >>> +
> >>> +static ssize_t compr_inode_show(struct f2fs_attr *a,
> >>> + struct f2fs_sb_info *sbi, char *buf)
> >>> +{
> >>> + return sprintf(buf, "%u\n", atomic_read(&sbi->compr_inode));
> >>> +}
> >>> +
> >>> +static ssize_t compr_blocks_show(struct f2fs_attr *a,
> >>> + struct f2fs_sb_info *sbi, char *buf)
> >>> +{
> >>> + return sprintf(buf, "%llu\n", atomic64_read(&sbi->compr_blocks));
> >>> +}
> >>> +
> >>> #endif
> >>>
> >>> static ssize_t main_blkaddr_show(struct f2fs_attr *a,
> >>> @@ -591,6 +604,8 @@ F2FS_STAT_ATTR(STAT_INFO, f2fs_stat_info, gc_background_calls, bg_gc);
> >>> F2FS_GENERAL_RO_ATTR(moved_blocks_background);
> >>> F2FS_GENERAL_RO_ATTR(moved_blocks_foreground);
> >>> F2FS_GENERAL_RO_ATTR(avg_vblocks);
> >>> +F2FS_GENERAL_RO_ATTR(compr_inode);
> >>> +F2FS_GENERAL_RO_ATTR(compr_blocks);
> >>> #endif
> >>>
> >>> #ifdef CONFIG_FS_ENCRYPTION
> >>> @@ -675,6 +690,8 @@ static struct attribute *f2fs_attrs[] = {
> >>> ATTR_LIST(moved_blocks_foreground),
> >>> ATTR_LIST(moved_blocks_background),
> >>> ATTR_LIST(avg_vblocks),
> >>> + ATTR_LIST(compr_inode),
> >>> + ATTR_LIST(compr_blocks),
> >>> #endif
> >>> NULL,
> >>> };
> >>>
> > .
> >

2020-11-30 02:09:24

by Chao Yu

[permalink] [raw]
Subject: Re: [f2fs-dev] [PATCH] f2fs: add compr_inode and compr_blocks sysfs nodes

Alright, let's export readonly stats in new directory once you have such requirement. :)

Thanks,

On 2020/11/30 10:02, Daeho Jeong wrote:
> Sure, but I don't think we need to expose compr_inode and compr_block right now.
>
> 2020년 11월 27일 (금) 오후 6:44, Chao Yu <[email protected]>님이 작성:
>>
>> Daeho,
>>
>> How about updating this patch based on below patch?
>>
>> f2fs: introduce a new per-sb directory in sysfs
>>
>> On 2020/10/22 10:53, Daeho Jeong wrote:
>>> Yep, It sounds good to me.
>>>
>>> 2020년 10월 21일 (수) 오후 3:08, Chao Yu <[email protected]>님이 작성:
>>>>
>>>> On 2020/10/16 13:14, Daeho Jeong wrote:
>>>>> From: Daeho Jeong <[email protected]>
>>>>>
>>>>> Added compr_inode to show compressed inode count and compr_blocks to
>>>>> show compressed block count in sysfs.
>>>>
>>>> As there are so many entries in ../f2fs/<disk>/ directory, it looks a mess
>>>> there, I suggest that we can add a new directory 'stats' in ../f2fs/<disk>/,
>>>> in where we can store all readonly stats related entries there later.
>>>>
>>>> How do you think?
>>>>
>>>> Thanks,
>>>>
>>>>>
>>>>> Signed-off-by: Daeho Jeong <[email protected]>
>>>>> ---
>>>>> Documentation/ABI/testing/sysfs-fs-f2fs | 10 ++++++++++
>>>>> fs/f2fs/sysfs.c | 17 +++++++++++++++++
>>>>> 2 files changed, 27 insertions(+)
>>>>>
>>>>> diff --git a/Documentation/ABI/testing/sysfs-fs-f2fs b/Documentation/ABI/testing/sysfs-fs-f2fs
>>>>> index 834d0becae6d..a01c26484c69 100644
>>>>> --- a/Documentation/ABI/testing/sysfs-fs-f2fs
>>>>> +++ b/Documentation/ABI/testing/sysfs-fs-f2fs
>>>>> @@ -350,3 +350,13 @@ Date: April 2020
>>>>> Contact: "Daeho Jeong" <[email protected]>
>>>>> Description: Give a way to change iostat_period time. 3secs by default.
>>>>> The new iostat trace gives stats gap given the period.
>>>>> +
>>>>> +What: /sys/fs/f2fs/<disk>/compr_inode
>>>>> +Date: October 2020
>>>>> +Contact: "Daeho Jeong" <[email protected]>
>>>>> +Description: Show compressed inode count
>>>>> +
>>>>> +What: /sys/fs/f2fs/<disk>/compr_blocks
>>>>> +Date: October 2020
>>>>> +Contact: "Daeho Jeong" <[email protected]>
>>>>> +Description: Show compressed block count
>>>>> diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
>>>>> index 94c98e412aa1..7139a29a00d3 100644
>>>>> --- a/fs/f2fs/sysfs.c
>>>>> +++ b/fs/f2fs/sysfs.c
>>>>> @@ -223,6 +223,19 @@ static ssize_t avg_vblocks_show(struct f2fs_attr *a,
>>>>> f2fs_update_sit_info(sbi);
>>>>> return sprintf(buf, "%llu\n", (unsigned long long)(si->avg_vblocks));
>>>>> }
>>>>> +
>>>>> +static ssize_t compr_inode_show(struct f2fs_attr *a,
>>>>> + struct f2fs_sb_info *sbi, char *buf)
>>>>> +{
>>>>> + return sprintf(buf, "%u\n", atomic_read(&sbi->compr_inode));
>>>>> +}
>>>>> +
>>>>> +static ssize_t compr_blocks_show(struct f2fs_attr *a,
>>>>> + struct f2fs_sb_info *sbi, char *buf)
>>>>> +{
>>>>> + return sprintf(buf, "%llu\n", atomic64_read(&sbi->compr_blocks));
>>>>> +}
>>>>> +
>>>>> #endif
>>>>>
>>>>> static ssize_t main_blkaddr_show(struct f2fs_attr *a,
>>>>> @@ -591,6 +604,8 @@ F2FS_STAT_ATTR(STAT_INFO, f2fs_stat_info, gc_background_calls, bg_gc);
>>>>> F2FS_GENERAL_RO_ATTR(moved_blocks_background);
>>>>> F2FS_GENERAL_RO_ATTR(moved_blocks_foreground);
>>>>> F2FS_GENERAL_RO_ATTR(avg_vblocks);
>>>>> +F2FS_GENERAL_RO_ATTR(compr_inode);
>>>>> +F2FS_GENERAL_RO_ATTR(compr_blocks);
>>>>> #endif
>>>>>
>>>>> #ifdef CONFIG_FS_ENCRYPTION
>>>>> @@ -675,6 +690,8 @@ static struct attribute *f2fs_attrs[] = {
>>>>> ATTR_LIST(moved_blocks_foreground),
>>>>> ATTR_LIST(moved_blocks_background),
>>>>> ATTR_LIST(avg_vblocks),
>>>>> + ATTR_LIST(compr_inode),
>>>>> + ATTR_LIST(compr_blocks),
>>>>> #endif
>>>>> NULL,
>>>>> };
>>>>>
>>> .
>>>
> .
>