diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2023-11-24 02:25:31 +0300 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-01-01 19:47:38 +0300 |
commit | ed0cd515cd8adb052881b371dd3f80cca5995174 (patch) | |
tree | ff7ddf665acca95e82c41ecac61762f44f1171a9 /fs/bcachefs/buckets.c | |
parent | dafff7e57508e87b473d91bac3e38181e2b829f2 (diff) | |
download | linux-ed0cd515cd8adb052881b371dd3f80cca5995174.tar.xz |
bcachefs: bch2_dev_usage_to_text()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/buckets.c')
-rw-r--r-- | fs/bcachefs/buckets.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/fs/bcachefs/buckets.c b/fs/bcachefs/buckets.c index bb2ded894b7e..36ed3c53e81c 100644 --- a/fs/bcachefs/buckets.c +++ b/fs/bcachefs/buckets.c @@ -277,6 +277,36 @@ void bch2_dev_usage_init(struct bch_dev *ca) ca->usage_base->d[BCH_DATA_free].buckets = ca->mi.nbuckets - ca->mi.first_bucket; } +void bch2_dev_usage_to_text(struct printbuf *out, struct bch_dev_usage *usage) +{ + prt_tab(out); + prt_str(out, "buckets"); + prt_tab_rjust(out); + prt_str(out, "sectors"); + prt_tab_rjust(out); + prt_str(out, "fragmented"); + prt_tab_rjust(out); + prt_newline(out); + + for (unsigned i = 0; i < BCH_DATA_NR; i++) { + prt_str(out, bch2_data_types[i]); + prt_tab(out); + prt_u64(out, usage->d[i].buckets); + prt_tab_rjust(out); + prt_u64(out, usage->d[i].sectors); + prt_tab_rjust(out); + prt_u64(out, usage->d[i].fragmented); + prt_tab_rjust(out); + prt_newline(out); + } + + prt_str(out, "ec"); + prt_tab(out); + prt_u64(out, usage->buckets_ec); + prt_tab_rjust(out); + prt_newline(out); +} + static void bch2_dev_usage_update(struct bch_fs *c, struct bch_dev *ca, struct bch_alloc_v4 old, struct bch_alloc_v4 new, |