Commit a383a15f authored by Evgeniy Kochetov's avatar Evgeniy Kochetov Committed by Tomasz Zawadzki
Browse files

bdev/part: Add copy IO type support



Signed-off-by: default avatarEvgeniy Kochetov <evgeniik@nvidia.com>
Change-Id: I9e2dcf29794fdb9535a4f0282b3046602f09188e
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14385


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: default avatarShuhei Matsumoto <smatsumoto@nvidia.com>
Community-CI: Mellanox Build Bot
parent 789f48de
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -272,7 +272,7 @@ spdk_bdev_part_submit_request(struct spdk_bdev_part_channel *ch, struct spdk_bde
	struct spdk_bdev_part *part = ch->part;
	struct spdk_io_channel *base_ch = ch->base_ch;
	struct spdk_bdev_desc *base_desc = part->internal.base->desc;
	uint64_t offset, remapped_offset;
	uint64_t offset, remapped_offset, remapped_src_offset;
	int rc = 0;

	offset = bdev_io->u.bdev.offset_blocks;
@@ -368,6 +368,12 @@ spdk_bdev_part_submit_request(struct spdk_bdev_part_channel *ch, struct spdk_bde
				bdev_io->u.bdev.num_blocks,
				bdev_part_complete_io, bdev_io);
		break;
	case SPDK_BDEV_IO_TYPE_COPY:
		remapped_src_offset = bdev_io->u.bdev.copy.src_offset_blocks + part->internal.offset_blocks;
		rc = spdk_bdev_copy_blocks(base_desc, base_ch, remapped_offset, remapped_src_offset,
					   bdev_io->u.bdev.num_blocks, bdev_part_complete_io,
					   bdev_io);
		break;
	default:
		SPDK_ERRLOG("unknown I/O type %d\n", bdev_io->type);
		return SPDK_BDEV_IO_STATUS_FAILED;