Lines Matching defs:bdev_io
85 static void vbdev_compress_submit_request(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io);
110 struct spdk_bdev_io *bdev_io = arg;
111 struct comp_bdev_io *io_ctx = (struct comp_bdev_io *)bdev_io->driver_ctx;
115 /* TODO: need to decide which error codes are bdev_io success vs failure;
188 struct spdk_bdev_io *bdev_io = ctx;
189 struct vbdev_compress *comp_bdev = SPDK_CONTAINEROF(bdev_io->bdev, struct vbdev_compress,
192 spdk_reduce_vol_writev(comp_bdev->vol, bdev_io->u.bdev.iovs, bdev_io->u.bdev.iovcnt,
193 bdev_io->u.bdev.offset_blocks, bdev_io->u.bdev.num_blocks,
194 reduce_rw_blocks_cb, bdev_io);
200 struct spdk_bdev_io *bdev_io = ctx;
201 struct vbdev_compress *comp_bdev = SPDK_CONTAINEROF(bdev_io->bdev, struct vbdev_compress,
204 spdk_reduce_vol_readv(comp_bdev->vol, bdev_io->u.bdev.iovs, bdev_io->u.bdev.iovcnt,
205 bdev_io->u.bdev.offset_blocks, bdev_io->u.bdev.num_blocks,
206 reduce_rw_blocks_cb, bdev_io);
215 comp_read_get_buf_cb(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io, bool success)
217 struct vbdev_compress *comp_bdev = SPDK_CONTAINEROF(bdev_io->bdev, struct vbdev_compress,
222 reduce_rw_blocks_cb(bdev_io, -ENOMEM);
226 spdk_thread_exec_msg(comp_bdev->reduce_thread, _comp_submit_read, bdev_io);
239 struct spdk_bdev_io *bdev_io;
266 struct spdk_bdev_io *bdev_io = split_ctx->bdev_io;
267 struct vbdev_compress *comp_bdev = SPDK_CONTAINEROF(bdev_io->bdev, struct vbdev_compress,
277 reduce_rw_blocks_cb(bdev_io, split_ctx->status);
340 struct spdk_bdev_io *bdev_io = ctx;
341 struct vbdev_compress *comp_bdev = SPDK_CONTAINEROF(bdev_io->bdev, struct vbdev_compress,
350 start_chunk = bdev_io->u.bdev.offset_blocks / logical_blocks_per_chunk;
351 end_chunk = (bdev_io->u.bdev.offset_blocks + bdev_io->u.bdev.num_blocks - 1) /
353 start_offset = bdev_io->u.bdev.offset_blocks % logical_blocks_per_chunk;
354 end_tail = (bdev_io->u.bdev.offset_blocks + bdev_io->u.bdev.num_blocks) %
359 reduce_rw_blocks_cb(bdev_io, -ENOMEM);
363 split_ctx->bdev_io = bdev_io;
400 bdev_io->u.bdev.num_blocks;
414 vbdev_compress_submit_request(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io)
416 struct comp_bdev_io *io_ctx = (struct comp_bdev_io *)bdev_io->driver_ctx;
417 struct vbdev_compress *comp_bdev = SPDK_CONTAINEROF(bdev_io->bdev, struct vbdev_compress,
424 io_ctx->orig_io = bdev_io;
426 switch (bdev_io->type) {
428 spdk_bdev_io_get_buf(bdev_io, comp_read_get_buf_cb,
429 bdev_io->u.bdev.num_blocks * bdev_io->bdev->blocklen);
432 spdk_thread_exec_msg(comp_bdev->reduce_thread, _comp_submit_write, bdev_io);
435 spdk_thread_exec_msg(comp_bdev->reduce_thread, _comp_submit_unmap, bdev_io);
442 SPDK_ERRLOG("Unknown I/O type %d\n", bdev_io->type);
798 * free the bdev_io.
801 comp_reduce_io_cb(struct spdk_bdev_io *bdev_io, bool success, void *arg)
811 spdk_bdev_free_io(bdev_io);