summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/bcachefs/buckets.c9
-rw-r--r--fs/bcachefs/disk_accounting_format.h3
2 files changed, 11 insertions, 1 deletions
diff --git a/fs/bcachefs/buckets.c b/fs/bcachefs/buckets.c
index e09ff5bbcd54..d8542cf6114b 100644
--- a/fs/bcachefs/buckets.c
+++ b/fs/bcachefs/buckets.c
@@ -607,6 +607,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, &dirty_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 f95f6ab07aaa..32f85662ea14 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_stripe_buckets, 4) \
x(compression, 5) \
x(snapshot, 6) \
- x(btree, 7)
+ x(btree, 7) \
+ x(rebalance_work, 8)
enum disk_accounting_type {
#define x(f, nr) BCH_DISK_ACCOUNTING_##f = nr,