summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2018-03-01 18:32:53 -0500
committerKent Overstreet <kent.overstreet@gmail.com>2018-03-01 18:32:53 -0500
commitda224776eb43b7a47d8c7cd9314d5d1a8e97aabe (patch)
tree1aa743061fd372dc24c5bcd09715f31234e1b7c3
parentc7fd0dff979ba04bbaa991ad506cb270df296c2a (diff)
bcachefs: fix an error path
-rw-r--r--fs/bcachefs/btree_io.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/bcachefs/btree_io.c b/fs/bcachefs/btree_io.c
index 22b46e5cd5fc..0525c3b87f95 100644
--- a/fs/bcachefs/btree_io.c
+++ b/fs/bcachefs/btree_io.c
@@ -1192,7 +1192,6 @@ int bch2_btree_node_read_done(struct bch_fs *c, struct btree *b, bool have_retry
sectors = vstruct_sectors(b->data, c->block_bits);
- set_btree_bset(b, b->set, &b->data->keys);
btree_node_set_format(b, b->data->format);
} else {
bne = write_block(b);
@@ -1258,6 +1257,8 @@ int bch2_btree_node_read_done(struct bch_fs *c, struct btree *b, bool have_retry
sorted = btree_bounce_alloc(c, btree_page_order(c), &used_mempool);
sorted->keys.u64s = 0;
+ set_btree_bset(b, b->set, &b->data->keys);
+
b->nr = btree_node_is_extents(b)
? bch2_extent_sort_fix_overlapping(c, &sorted->keys, b, iter)
: bch2_key_sort_fix_overlapping(&sorted->keys, b, iter);