From 20ac515a9cc73d48be1462d2a04cda75215a1867 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Tue, 19 Mar 2024 00:04:52 -0400 Subject: [PATCH] bcachefs: bch_acct_rebalance_work Signed-off-by: Kent Overstreet --- fs/bcachefs/buckets.c | 9 +++++++++ fs/bcachefs/disk_accounting_format.h | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/fs/bcachefs/buckets.c b/fs/bcachefs/buckets.c index e4a9bd29e93c..f89e2e9a6dd2 100644 --- a/fs/bcachefs/buckets.c +++ b/fs/bcachefs/buckets.c @@ -808,6 +808,15 @@ static int __trigger_extent(struct btree_trans *trans, return ret; } + if (bch2_bkey_rebalance_opts(k)) { + struct disk_accounting_pos acc = { + .type = BCH_DISK_ACCOUNTING_rebalance_work, + }; + ret = bch2_disk_accounting_mod(trans, &acc, &replicas_sectors, 1, gc); + if (ret) + return ret; + } + return 0; } diff --git a/fs/bcachefs/disk_accounting_format.h b/fs/bcachefs/disk_accounting_format.h index 057d82c7e0b1..cba417060b33 100644 --- a/fs/bcachefs/disk_accounting_format.h +++ b/fs/bcachefs/disk_accounting_format.h @@ -102,7 +102,8 @@ static inline bool data_type_is_hidden(enum bch_data_type type) x(dev_data_type, 3) \ x(compression, 4) \ x(snapshot, 5) \ - x(btree, 6) + x(btree, 6) \ + x(rebalance_work, 7) enum disk_accounting_type { #define x(f, nr) BCH_DISK_ACCOUNTING_##f = nr,