We were calling bch2_extent_can_insert() incorrectly; it should only be
called when the extents-to-keys pass is running because that's when we
could be splitting a compressed extent. Calling bch2_extent_can_insert()
without passing in a disk reservation was causing a null ptr deref.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
if (unlikely(btree_node_old_extent_overwrite(b)))
return BTREE_INSERT_BTREE_NODE_FULL;
- ret = !btree_node_is_extents(b)
+ ret = !(iter->flags & BTREE_ITER_IS_EXTENTS)
? BTREE_INSERT_OK
: bch2_extent_can_insert(trans, iter, insert);
if (ret)