Commit 30792947 authored by Kent Overstreet's avatar Kent Overstreet
Browse files

bcachefs: io_read: remove from async obj list in rbio_done()



Previously, only split rbios allocated in io_read.c would be removed
from the async obj list.

Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent 347e9f50
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -166,6 +166,7 @@ static noinline void promote_free(struct bch_read_bio *rbio)
	BUG_ON(ret);

	async_object_list_del(c, promote, op->list_idx);
	async_object_list_del(c, rbio, rbio->list_idx);

	bch2_data_update_exit(&op->write);

@@ -456,6 +457,10 @@ static void bch2_rbio_done(struct bch_read_bio *rbio)
	if (rbio->start_time)
		bch2_time_stats_update(&rbio->c->times[BCH_TIME_data_read],
				       rbio->start_time);
#ifdef CONFIG_BCACHEFS_ASYNC_OBJECT_LISTS
	if (rbio->list_idx)
		async_object_list_del(rbio->c, rbio, rbio->list_idx);
#endif
	bio_endio(&rbio->bio);
}