diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2023-08-17 17:08:33 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-08-17 17:11:27 -0400 |
commit | 505c326cbe091b105dbdfbe66dae4ad6ee424906 (patch) | |
tree | a7bf3a8ebac5ef648d48489eb87964e79bb2e261 /libbcachefs/bkey.c | |
parent | 4d04fe42623a2f2b91a75cfa3d3503ab88e48acc (diff) |
Update bcachefs sources to a8115093df bcachefs: Fix divide by zero in rebalance_work()
Diffstat (limited to 'libbcachefs/bkey.c')
-rw-r--r-- | libbcachefs/bkey.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libbcachefs/bkey.c b/libbcachefs/bkey.c index d6960e25..0a5bfe6e 100644 --- a/libbcachefs/bkey.c +++ b/libbcachefs/bkey.c @@ -591,8 +591,10 @@ struct bkey_format bch2_bkey_format_done(struct bkey_format_state *s) /* allow for extent merging: */ if (ret.bits_per_field[BKEY_FIELD_SIZE]) { - ret.bits_per_field[BKEY_FIELD_SIZE] += 4; - bits += 4; + unsigned b = min(4U, 32U - ret.bits_per_field[BKEY_FIELD_SIZE]); + + ret.bits_per_field[BKEY_FIELD_SIZE] += b; + bits += b; } ret.key_u64s = DIV_ROUND_UP(bits, 64); |