diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2025-06-09 17:34:47 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2025-06-09 17:39:57 -0400 |
commit | 802903c8cf90f84248b31dd7776ecce148bb7b9c (patch) | |
tree | 0ec0d1e7ee7ea11ee9571c897dfa5f5562aa2bf7 /libbcachefs/sb-downgrade.c | |
parent | 7e570195d49389fd7119b72d5de8fb458fc82f1a (diff) |
Update bcachefs sources to a8d89eb264e0 bcachefs: Allow CONFIG_UNICODE=m
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'libbcachefs/sb-downgrade.c')
-rw-r--r-- | libbcachefs/sb-downgrade.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libbcachefs/sb-downgrade.c b/libbcachefs/sb-downgrade.c index b61f8845..1506d05e 100644 --- a/libbcachefs/sb-downgrade.c +++ b/libbcachefs/sb-downgrade.c @@ -253,6 +253,7 @@ DOWNGRADE_TABLE() static int downgrade_table_extra(struct bch_fs *c, darray_char *table) { + unsigned dst_offset = table->nr; struct bch_sb_field_downgrade_entry *dst = (void *) &darray_top(*table); unsigned bytes = sizeof(*dst) + sizeof(dst->errors[0]) * le16_to_cpu(dst->nr_errors); int ret = 0; @@ -268,6 +269,9 @@ static int downgrade_table_extra(struct bch_fs *c, darray_char *table) if (ret) return ret; + dst = (void *) &table->data[dst_offset]; + dst->nr_errors = cpu_to_le16(nr_errors + 1); + /* open coded __set_bit_le64, as dst is packed and * dst->recovery_passes is misaligned */ unsigned b = BCH_RECOVERY_PASS_STABLE_check_allocations; @@ -278,7 +282,6 @@ static int downgrade_table_extra(struct bch_fs *c, darray_char *table) break; } - dst->nr_errors = cpu_to_le16(nr_errors); return ret; } |