]> www.infradead.org Git - nvme.git/commitdiff
bcachefs: bch_acct_rebalance_work
authorKent Overstreet <kent.overstreet@linux.dev>
Tue, 19 Mar 2024 04:04:52 +0000 (00:04 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 14 Jul 2024 23:00:14 +0000 (19:00 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/buckets.c
fs/bcachefs/disk_accounting_format.h

index e4a9bd29e93c83e0ed98d3eae2ea9f44570f9c02..f89e2e9a6dd2bf4ede0f2b4443b07b880edcd558 100644 (file)
@@ -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;
 }
 
index 057d82c7e0b149b991e65240663e8adfb6fe81c7..cba417060b333111c7ee027cd24e32074c4c8e88 100644 (file)
@@ -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,