diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-07-05 09:14:14 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-07-05 09:16:45 -0400 |
commit | 8b06995115a8ade5e0b154311b771279ff97317f (patch) | |
tree | eecd3c3cf493e9441a6b1ed0c0061bce045b7a66 /libbcachefs/bkey.c | |
parent | d061c7ea11672438ad339766ef1a73702c0778ab (diff) |
Update bcachefs sources to 2be6fc9b111c bcachefs: bch2_gc_btree() should not use btree_root_lock
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'libbcachefs/bkey.c')
-rw-r--r-- | libbcachefs/bkey.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libbcachefs/bkey.c b/libbcachefs/bkey.c index 94a1d198..587d7318 100644 --- a/libbcachefs/bkey.c +++ b/libbcachefs/bkey.c @@ -660,8 +660,9 @@ int bch2_bkey_format_invalid(struct bch_fs *c, bch2_bkey_format_field_overflows(f, i)) { unsigned unpacked_bits = bch2_bkey_format_current.bits_per_field[i]; u64 unpacked_max = ~((~0ULL << 1) << (unpacked_bits - 1)); - u64 packed_max = f->bits_per_field[i] - ? ~((~0ULL << 1) << (f->bits_per_field[i] - 1)) + unsigned packed_bits = min(64, f->bits_per_field[i]); + u64 packed_max = packed_bits + ? ~((~0ULL << 1) << (packed_bits - 1)) : 0; prt_printf(err, "field %u too large: %llu + %llu > %llu", |