summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2024-06-03 18:19:21 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2024-06-03 20:08:06 -0400
commitda5435b0ccdc9ac5c1933f3a36e7556e77c0bf1a (patch)
treeaca691ac55b03f33879ffb50bfbd54a6f8084a5a
parent7d79fba1af3d41b148009d3dc76d813b07f01f69 (diff)
cmd_fs_usage: split out devs_usage_to_text()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r--c_src/cmd_fs.c38
1 files changed, 23 insertions, 15 deletions
diff --git a/c_src/cmd_fs.c b/c_src/cmd_fs.c
index e08054e8..dba0dd2e 100644
--- a/c_src/cmd_fs.c
+++ b/c_src/cmd_fs.c
@@ -129,6 +129,28 @@ static struct dev_name *dev_idx_to_name(dev_names *dev_names, unsigned idx)
return NULL;
}
+static void devs_usage_to_text(struct printbuf *out,
+ struct bchfs_handle fs,
+ dev_names dev_names)
+{
+ sort(dev_names.data, dev_names.nr,
+ sizeof(dev_names.data[0]), dev_by_label_cmp, NULL);
+
+ printbuf_tabstops_reset(out);
+ printbuf_tabstop_push(out, 16);
+ printbuf_tabstop_push(out, 20);
+ printbuf_tabstop_push(out, 16);
+ printbuf_tabstop_push(out, 14);
+
+ darray_for_each(dev_names, dev)
+ dev_usage_to_text(out, fs, dev);
+
+ darray_for_each(dev_names, dev) {
+ free(dev->dev);
+ free(dev->label);
+ }
+}
+
static void replicas_usage_to_text(struct printbuf *out,
const struct bch_replicas_usage *r,
dev_names *dev_names)
@@ -275,22 +297,8 @@ static void fs_usage_to_text(struct printbuf *out, const char *path)
free(u);
- sort(dev_names.data, dev_names.nr,
- sizeof(dev_names.data[0]), dev_by_label_cmp, NULL);
+ devs_usage_to_text(out, fs, dev_names);
- printbuf_tabstops_reset(out);
- printbuf_tabstop_push(out, 16);
- printbuf_tabstop_push(out, 20);
- printbuf_tabstop_push(out, 16);
- printbuf_tabstop_push(out, 14);
-
- darray_for_each(dev_names, dev)
- dev_usage_to_text(out, fs, dev);
-
- darray_for_each(dev_names, dev) {
- free(dev->dev);
- free(dev->label);
- }
darray_exit(&dev_names);
bcache_fs_close(fs);