Lines Matching defs:io_ctx

147 	struct delay_bdev_io *io_ctx, *tmp;
150 STAILQ_FOREACH_SAFE(io_ctx, head, link, tmp) {
151 if (io_ctx->completion_tick <= ticks) {
152 STAILQ_REMOVE(head, io_ctx, delay_bdev_io, link);
153 spdk_bdev_io_complete(spdk_bdev_io_from_ctx(io_ctx), io_ctx->status);
194 struct delay_bdev_io *io_ctx = (struct delay_bdev_io *)orig_io->driver_ctx;
195 struct delay_io_channel *delay_ch = spdk_io_channel_get_ctx(io_ctx->ch);
197 io_ctx->status = success ? SPDK_BDEV_IO_STATUS_SUCCESS : SPDK_BDEV_IO_STATUS_FAILED;
200 io_ctx->zcopy_bdev_io = bdev_io;
202 assert(io_ctx->zcopy_bdev_io == NULL || io_ctx->zcopy_bdev_io == bdev_io);
203 io_ctx->zcopy_bdev_io = NULL;
208 switch (io_ctx->type) {
210 io_ctx->completion_tick = spdk_get_ticks() + delay_node->average_read_latency_ticks;
211 STAILQ_INSERT_TAIL(&delay_ch->avg_read_io, io_ctx, link);
214 io_ctx->completion_tick = spdk_get_ticks() + delay_node->average_write_latency_ticks;
215 STAILQ_INSERT_TAIL(&delay_ch->avg_write_io, io_ctx, link);
218 io_ctx->completion_tick = spdk_get_ticks() + delay_node->p99_read_latency_ticks;
219 STAILQ_INSERT_TAIL(&delay_ch->p99_read_io, io_ctx, link);
222 io_ctx->completion_tick = spdk_get_ticks() + delay_node->p99_write_latency_ticks;
223 STAILQ_INSERT_TAIL(&delay_ch->p99_write_io, io_ctx, link);
227 spdk_bdev_io_complete(orig_io, io_ctx->status);
236 struct delay_bdev_io *io_ctx = (struct delay_bdev_io *)bdev_io->driver_ctx;
238 vbdev_delay_submit_request(io_ctx->ch, bdev_io);
244 struct delay_bdev_io *io_ctx = (struct delay_bdev_io *)bdev_io->driver_ctx;
245 struct delay_io_channel *delay_ch = spdk_io_channel_get_ctx(io_ctx->ch);
248 io_ctx->bdev_io_wait.bdev = bdev_io->bdev;
249 io_ctx->bdev_io_wait.cb_fn = vbdev_delay_resubmit_io;
250 io_ctx->bdev_io_wait.cb_arg = bdev_io;
252 rc = spdk_bdev_queue_io_wait(bdev_io->bdev, delay_ch->base_ch, &io_ctx->bdev_io_wait);
302 struct delay_bdev_io *io_ctx = (struct delay_bdev_io *)bdev_io->driver_ctx;
303 struct delay_io_channel *delay_ch = spdk_io_channel_get_ctx(io_ctx->ch);
329 struct delay_bdev_io *io_ctx, *tmp;
331 STAILQ_FOREACH_SAFE(io_ctx, head, link, tmp) {
332 STAILQ_REMOVE(head, io_ctx, delay_bdev_io, link);
333 if (io_ctx->zcopy_bdev_io != NULL) {
334 spdk_bdev_zcopy_end(io_ctx->zcopy_bdev_io, false, abort_zcopy_io, NULL);
336 spdk_bdev_io_complete(spdk_bdev_io_from_ctx(io_ctx), SPDK_BDEV_IO_STATUS_ABORTED);
359 struct delay_bdev_io *io_ctx;
361 STAILQ_FOREACH(io_ctx, head, link) {
362 if (io_ctx == io_ctx_to_abort) {
364 if (io_ctx->zcopy_bdev_io != NULL) {
365 spdk_bdev_zcopy_end(io_ctx->zcopy_bdev_io, false, abort_zcopy_io, NULL);
398 struct delay_bdev_io *io_ctx = (struct delay_bdev_io *)bdev_io->driver_ctx;
405 io_ctx->ch = ch;
406 io_ctx->type = DELAY_NONE;
408 io_ctx->zcopy_bdev_io = NULL;
413 io_ctx->type = is_p99 ? DELAY_P99_READ : DELAY_AVG_READ;
418 io_ctx->type = is_p99 ? DELAY_P99_WRITE : DELAY_AVG_WRITE;
455 io_ctx->type = is_p99 ? DELAY_P99_WRITE : DELAY_AVG_WRITE;
457 io_ctx->type = is_p99 ? DELAY_P99_READ : DELAY_AVG_READ;
467 rc = spdk_bdev_zcopy_end(io_ctx->zcopy_bdev_io, bdev_io->u.bdev.zcopy.commit,