bdev: use parent_io when executing sequence for split IOs

The sequence is associated with parent IO, so that's the IO that should
be used when executing a sequence.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: Ifcdb06094b38a5eaee1691e5aa8de1c8dc9d01a6
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17865
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Konrad Sztyber 2023-04-27 15:31:09 +02:00 committed by Jim Harris
parent f20fbfe65b
commit 13b801bf37

View File

@ -3087,7 +3087,7 @@ bdev_io_split_done(struct spdk_bdev_io *bdev_io, bool success, void *cb_arg)
if (bdev_io_needs_sequence_exec(parent_io->internal.desc, parent_io) &&
spdk_likely(success)) {
bdev_io_exec_sequence(bdev_io, bdev_io_complete_parent_sequence_cb);
bdev_io_exec_sequence(parent_io, bdev_io_complete_parent_sequence_cb);
} else if (parent_io->internal.orig_iovcnt != 0) {
_bdev_io_push_bounce_data_buffer(parent_io, parent_bdev_io_complete);
/* bdev IO will be completed in the callback */