Signed-off-by: Alan Huang <[email protected]>
---
 fs/bcachefs/btree_io.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/fs/bcachefs/btree_io.c b/fs/bcachefs/btree_io.c
index 14e3329baa43..afcd13092807 100644
--- a/fs/bcachefs/btree_io.c
+++ b/fs/bcachefs/btree_io.c
@@ -1017,7 +1017,6 @@ int bch2_btree_node_read_done(struct bch_fs *c, struct 
bch_dev *ca,
        bool used_mempool, blacklisted;
        bool updated_range = b->key.k.type == KEY_TYPE_btree_ptr_v2 &&
                BTREE_PTR_RANGE_UPDATED(&bkey_i_to_btree_ptr_v2(&b->key)->v);
-       unsigned u64s;
        unsigned ptr_written = 
btree_ptr_sectors_written(bkey_i_to_s_c(&b->key));
        u64 max_journal_seq = 0;
        struct printbuf buf = PRINTBUF;
@@ -1224,23 +1223,20 @@ int bch2_btree_node_read_done(struct bch_fs *c, struct 
bch_dev *ca,
        sorted = btree_bounce_alloc(c, btree_buf_bytes(b), &used_mempool);
        sorted->keys.u64s = 0;
 
-       set_btree_bset(b, b->set, &b->data->keys);
-
        b->nr = bch2_key_sort_fix_overlapping(c, &sorted->keys, iter);
        memset((uint8_t *)(sorted + 1) + b->nr.live_u64s * sizeof(u64), 0,
                        btree_buf_bytes(b) -
                        sizeof(struct btree_node) -
                        b->nr.live_u64s * sizeof(u64));
 
-       u64s = le16_to_cpu(sorted->keys.u64s);
+       b->data->keys.u64s = sorted->keys.u64s;
        *sorted = *b->data;
-       sorted->keys.u64s = cpu_to_le16(u64s);
        swap(sorted, b->data);
        set_btree_bset(b, b->set, &b->data->keys);
        b->nsets = 1;
        b->data->keys.journal_seq = cpu_to_le64(max_journal_seq);
 
-       BUG_ON(b->nr.live_u64s != u64s);
+       BUG_ON(b->nr.live_u64s != le16_to_cpu(b->data->keys.u64s));
 
        btree_bounce_free(c, btree_buf_bytes(b), used_mempool, sorted);
 
-- 
2.48.1


Reply via email to