diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-06-03 18:19:21 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-06-03 20:08:06 -0400 |
commit | da5435b0ccdc9ac5c1933f3a36e7556e77c0bf1a (patch) | |
tree | aca691ac55b03f33879ffb50bfbd54a6f8084a5a | |
parent | 7d79fba1af3d41b148009d3dc76d813b07f01f69 (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.c | 38 |
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); |