btrfs: sysfs: refactor output formatting in btrfs_read_policy_show()
authorAnand Jain <anand.jain@oracle.com>
Wed, 1 Jan 2025 18:06:31 +0000 (02:06 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 13 Jan 2025 13:53:20 +0000 (14:53 +0100)
Refactor the logic in btrfs_read_policy_show() for easier extension with
more balancing methods.  Streamline the space and bracket handling
around the active policy without altering the functional output.  This
is in preparation to add more methods.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/sysfs.c

index 7f09b6c9cc2d3248086f7250a9fa88fd82406a2a..ab18b4e594680a450bdf8387c8c78bd5d3aa8632 100644 (file)
@@ -1316,14 +1316,16 @@ static ssize_t btrfs_read_policy_show(struct kobject *kobj,
        int i;
 
        for (i = 0; i < BTRFS_NR_READ_POLICY; i++) {
-               if (policy == i)
-                       ret += sysfs_emit_at(buf, ret, "%s[%s]",
-                                        (ret == 0 ? "" : " "),
-                                        btrfs_read_policy_name[i]);
-               else
-                       ret += sysfs_emit_at(buf, ret, "%s%s",
-                                        (ret == 0 ? "" : " "),
-                                        btrfs_read_policy_name[i]);
+               if (ret != 0)
+                       ret += sysfs_emit_at(buf, ret, " ");
+
+               if (i == policy)
+                       ret += sysfs_emit_at(buf, ret, "[");
+
+               ret += sysfs_emit_at(buf, ret, "%s", btrfs_read_policy_name[i]);
+
+               if (i == policy)
+                       ret += sysfs_emit_at(buf, ret, "]");
        }
 
        ret += sysfs_emit_at(buf, ret, "\n");