Lines Matching refs:raid_io
35 struct raid_bdev_io *raid_io = cb_arg; in concat_bdev_io_completion() local
40 raid_bdev_io_complete(raid_io, SPDK_BDEV_IO_STATUS_SUCCESS); in concat_bdev_io_completion()
42 raid_bdev_io_complete(raid_io, SPDK_BDEV_IO_STATUS_FAILED); in concat_bdev_io_completion()
46 static void concat_submit_rw_request(struct raid_bdev_io *raid_io);
51 struct raid_bdev_io *raid_io = _raid_io; in _concat_submit_rw_request() local
53 concat_submit_rw_request(raid_io); in _concat_submit_rw_request()
66 concat_submit_rw_request(struct raid_bdev_io *raid_io) in concat_submit_rw_request() argument
68 struct raid_bdev_io_channel *raid_ch = raid_io->raid_ch; in concat_submit_rw_request()
69 struct raid_bdev *raid_bdev = raid_io->raid_bdev; in concat_submit_rw_request()
82 if (block_range[i].start > raid_io->offset_blocks) { in concat_submit_rw_request()
88 assert(raid_io->offset_blocks >= block_range[pd_idx].start); in concat_submit_rw_request()
89 pd_lba = raid_io->offset_blocks - block_range[pd_idx].start; in concat_submit_rw_request()
90 pd_blocks = raid_io->num_blocks; in concat_submit_rw_request()
106 io_opts.memory_domain = raid_io->memory_domain; in concat_submit_rw_request()
107 io_opts.memory_domain_ctx = raid_io->memory_domain_ctx; in concat_submit_rw_request()
108 io_opts.metadata = raid_io->md_buf; in concat_submit_rw_request()
110 if (raid_io->type == SPDK_BDEV_IO_TYPE_READ) { in concat_submit_rw_request()
112 raid_io->iovs, raid_io->iovcnt, in concat_submit_rw_request()
114 raid_io, &io_opts); in concat_submit_rw_request()
115 } else if (raid_io->type == SPDK_BDEV_IO_TYPE_WRITE) { in concat_submit_rw_request()
117 raid_io->iovs, raid_io->iovcnt, in concat_submit_rw_request()
119 raid_io, &io_opts); in concat_submit_rw_request()
121 SPDK_ERRLOG("Recvd not supported io type %u\n", raid_io->type); in concat_submit_rw_request()
126 raid_bdev_queue_io_wait(raid_io, spdk_bdev_desc_get_bdev(base_info->desc), in concat_submit_rw_request()
131 raid_bdev_io_complete(raid_io, SPDK_BDEV_IO_STATUS_FAILED); in concat_submit_rw_request()
135 static void concat_submit_null_payload_request(struct raid_bdev_io *raid_io);
140 struct raid_bdev_io *raid_io = _raid_io; in _concat_submit_null_payload_request() local
142 concat_submit_null_payload_request(raid_io); in _concat_submit_null_payload_request()
148 struct raid_bdev_io *raid_io = cb_arg; in concat_base_io_complete() local
150 raid_bdev_io_complete_part(raid_io, 1, success ? in concat_base_io_complete()
169 concat_submit_null_payload_request(struct raid_bdev_io *raid_io) in concat_submit_null_payload_request() argument
182 raid_bdev = raid_io->raid_bdev; in concat_submit_null_payload_request()
185 offset_blocks = raid_io->offset_blocks; in concat_submit_null_payload_request()
186 num_blocks = raid_io->num_blocks; in concat_submit_null_payload_request()
219 if (raid_io->base_bdev_io_remaining == 0) { in concat_submit_null_payload_request()
220 raid_io->base_bdev_io_remaining = stop_idx - start_idx + 1; in concat_submit_null_payload_request()
222 offset_blocks = raid_io->offset_blocks; in concat_submit_null_payload_request()
223 num_blocks = raid_io->num_blocks; in concat_submit_null_payload_request()
234 if (i < start_idx + raid_io->base_bdev_io_submitted) { in concat_submit_null_payload_request()
238 base_ch = raid_bdev_channel_get_base_channel(raid_io->raid_ch, i); in concat_submit_null_payload_request()
239 switch (raid_io->type) { in concat_submit_null_payload_request()
243 concat_base_io_complete, raid_io); in concat_submit_null_payload_request()
248 concat_base_io_complete, raid_io); in concat_submit_null_payload_request()
251 SPDK_ERRLOG("submit request, invalid io type with null payload %u\n", raid_io->type); in concat_submit_null_payload_request()
256 raid_io->base_bdev_io_submitted++; in concat_submit_null_payload_request()
258 raid_bdev_queue_io_wait(raid_io, spdk_bdev_desc_get_bdev(base_info->desc), in concat_submit_null_payload_request()
264 raid_bdev_io_complete(raid_io, SPDK_BDEV_IO_STATUS_FAILED); in concat_submit_null_payload_request()