[PATCH] f2fs: make gc_urgent and gc_segment_mode sysfs node readable

Daeho Jeong posted 1 patch 4 years, 3 months ago
There is a newer version of this series
fs/f2fs/sysfs.c | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
[PATCH] f2fs: make gc_urgent and gc_segment_mode sysfs node readable
Posted by Daeho Jeong 4 years, 3 months ago
From: Daeho Jeong <daehojeong@google.com>

Changed a way of showing values of them to use strings.

Signed-off-by: Daeho Jeong <daehojeong@google.com>
---
 fs/f2fs/sysfs.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
index fe29bcb70f46..f2613cc83888 100644
--- a/fs/f2fs/sysfs.c
+++ b/fs/f2fs/sysfs.c
@@ -41,6 +41,16 @@ enum {
 	ATGC_INFO,	/* struct atgc_management */
 };
 
+const char *gc_mode_names[MAX_GC_MODE] = {
+	"GC_NORMAL",
+	"GC_IDLE_CB",
+	"GC_IDLE_GREEDY",
+	"GC_IDLE_AT",
+	"GC_URGENT_HIGH",
+	"GC_URGENT_LOW",
+	"GC_URGENT_MID"
+};
+
 struct f2fs_attr {
 	struct attribute attr;
 	ssize_t (*show)(struct f2fs_attr *, struct f2fs_sb_info *, char *);
@@ -316,8 +326,13 @@ static ssize_t f2fs_sbi_show(struct f2fs_attr *a,
 		return sysfs_emit(buf, "%u\n", sbi->compr_new_inode);
 #endif
 
+	if (!strcmp(a->attr.name, "gc_urgent"))
+		return sysfs_emit(buf, "%s\n",
+				gc_mode_names[sbi->gc_mode]);
+
 	if (!strcmp(a->attr.name, "gc_segment_mode"))
-		return sysfs_emit(buf, "%u\n", sbi->gc_segment_mode);
+		return sysfs_emit(buf, "%s\n",
+				gc_mode_names[sbi->gc_segment_mode]);
 
 	if (!strcmp(a->attr.name, "gc_reclaimed_segments")) {
 		return sysfs_emit(buf, "%u\n",
-- 
2.35.1.894.gb6a874cedc-goog
Re: [PATCH] f2fs: make gc_urgent and gc_segment_mode sysfs node readable
Posted by Daeho Jeong 4 years, 3 months ago
Plz, sorry, ignore this one.

On Fri, Mar 18, 2022 at 12:10 PM Daeho Jeong <daeho43@gmail.com> wrote:
>
> From: Daeho Jeong <daehojeong@google.com>
>
> Changed a way of showing values of them to use strings.
>
> Signed-off-by: Daeho Jeong <daehojeong@google.com>
> ---
>  fs/f2fs/sysfs.c | 17 ++++++++++++++++-
>  1 file changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
> index fe29bcb70f46..f2613cc83888 100644
> --- a/fs/f2fs/sysfs.c
> +++ b/fs/f2fs/sysfs.c
> @@ -41,6 +41,16 @@ enum {
>         ATGC_INFO,      /* struct atgc_management */
>  };
>
> +const char *gc_mode_names[MAX_GC_MODE] = {
> +       "GC_NORMAL",
> +       "GC_IDLE_CB",
> +       "GC_IDLE_GREEDY",
> +       "GC_IDLE_AT",
> +       "GC_URGENT_HIGH",
> +       "GC_URGENT_LOW",
> +       "GC_URGENT_MID"
> +};
> +
>  struct f2fs_attr {
>         struct attribute attr;
>         ssize_t (*show)(struct f2fs_attr *, struct f2fs_sb_info *, char *);
> @@ -316,8 +326,13 @@ static ssize_t f2fs_sbi_show(struct f2fs_attr *a,
>                 return sysfs_emit(buf, "%u\n", sbi->compr_new_inode);
>  #endif
>
> +       if (!strcmp(a->attr.name, "gc_urgent"))
> +               return sysfs_emit(buf, "%s\n",
> +                               gc_mode_names[sbi->gc_mode]);
> +
>         if (!strcmp(a->attr.name, "gc_segment_mode"))
> -               return sysfs_emit(buf, "%u\n", sbi->gc_segment_mode);
> +               return sysfs_emit(buf, "%s\n",
> +                               gc_mode_names[sbi->gc_segment_mode]);
>
>         if (!strcmp(a->attr.name, "gc_reclaimed_segments")) {
>                 return sysfs_emit(buf, "%u\n",
> --
> 2.35.1.894.gb6a874cedc-goog
>