diff options
| author | Kent Overstreet <kent.overstreet@linux.dev> | 2025-07-10 16:27:29 -0400 |
|---|---|---|
| committer | Kent Overstreet <kent.overstreet@linux.dev> | 2025-07-13 17:45:13 -0400 |
| commit | 30792947c6f33175e53ae3b8de3f6971c26505b9 (patch) | |
| tree | d6399fb81c9b4f5736f85b06b183fe12f7b2b7ae /fs/bcachefs | |
| parent | Linux 6.16-rc6 (diff) | |
| download | linux-30792947c6f33175e53ae3b8de3f6971c26505b9.tar.gz linux-30792947c6f33175e53ae3b8de3f6971c26505b9.zip | |
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: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs')
| -rw-r--r-- | fs/bcachefs/io_read.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/bcachefs/io_read.c b/fs/bcachefs/io_read.c index cd184b219a65..e0874ad9a6cf 100644 --- a/fs/bcachefs/io_read.c +++ b/fs/bcachefs/io_read.c @@ -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); } |
