bdev/error: Use spdk_bdev_part_submit_request_ext() to use custom completion callback
This is a preparation to inject data corruption at completion for read I/O. Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I839f454d643254f2b805f3d4c65282deee037d71 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15003 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
cff39ee7d5
commit
e0daee9840
@ -156,6 +156,14 @@ vbdev_error_get_error_type(struct error_disk *error_disk, uint32_t io_type)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
vbdev_error_complete_request(struct spdk_bdev_io *bdev_io, bool success, void *cb_arg)
|
||||
{
|
||||
int status = success ? SPDK_BDEV_IO_STATUS_SUCCESS : SPDK_BDEV_IO_STATUS_FAILED;
|
||||
|
||||
spdk_bdev_io_complete(bdev_io, status);
|
||||
}
|
||||
|
||||
static void
|
||||
vbdev_error_submit_request(struct spdk_io_channel *_ch, struct spdk_bdev_io *bdev_io)
|
||||
{
|
||||
@ -180,7 +188,8 @@ vbdev_error_submit_request(struct spdk_io_channel *_ch, struct spdk_bdev_io *bde
|
||||
error_disk->error_vector[bdev_io->type].error_num--;
|
||||
break;
|
||||
case 0:
|
||||
rc = spdk_bdev_part_submit_request(&ch->part_ch, bdev_io);
|
||||
rc = spdk_bdev_part_submit_request_ext(&ch->part_ch, bdev_io,
|
||||
vbdev_error_complete_request);
|
||||
|
||||
if (rc) {
|
||||
SPDK_ERRLOG("bdev_error: submit request failed, rc=%d\n", rc);
|
||||
|
Loading…
Reference in New Issue
Block a user