diff --git a/lib/bdev/bdev.c b/lib/bdev/bdev.c index 36b71a751..9c53877d2 100644 --- a/lib/bdev/bdev.c +++ b/lib/bdev/bdev.c @@ -726,7 +726,7 @@ spdk_bdev_mgmt_channel_create(void *io_device, void *ctx_buf) bdev_io = spdk_mempool_get(g_bdev_mgr.bdev_io_pool); assert(bdev_io != NULL); ch->per_thread_cache_count++; - STAILQ_INSERT_TAIL(&ch->per_thread_cache, bdev_io, internal.buf_link); + STAILQ_INSERT_HEAD(&ch->per_thread_cache, bdev_io, internal.buf_link); } TAILQ_INIT(&ch->shared_resources); @@ -1192,7 +1192,7 @@ spdk_bdev_free_io(struct spdk_bdev_io *bdev_io) if (ch->per_thread_cache_count < ch->bdev_io_cache_size) { ch->per_thread_cache_count++; - STAILQ_INSERT_TAIL(&ch->per_thread_cache, bdev_io, internal.buf_link); + STAILQ_INSERT_HEAD(&ch->per_thread_cache, bdev_io, internal.buf_link); while (ch->per_thread_cache_count > 0 && !TAILQ_EMPTY(&ch->io_wait_queue)) { struct spdk_bdev_io_wait_entry *entry;