Commit 11f5dbfa authored by Jim Harris's avatar Jim Harris Committed by Konrad Sztyber
Browse files

bdev: allow spdk_bdev_copy_blocks() for 0 blocks



We recently enabled spdk_bdev_unmap_blocks() to return deferred success for a
zero block operation, so do the same for copy as well.

Suggested-by: default avatarShuhei Matsumoto <smatsumoto@nvidia.com>
Signed-off-by: default avatarJim Harris <jim.harris@samsung.com>
Change-Id: Id836eb4c9cd23e1f873b8e2299ece46585ef4633
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22072


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <smatsumoto@nvidia.com>
Community-CI: Mellanox Build Bot
parent fc30f5ed
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -10303,11 +10303,6 @@ spdk_bdev_copy_blocks(struct spdk_bdev_desc *desc, struct spdk_io_channel *ch,
		return -EBADF;
	}

	if (num_blocks == 0) {
		SPDK_ERRLOG("Can't copy 0 blocks\n");
		return -EINVAL;
	}

	if (!bdev_io_valid_blocks(bdev, dst_offset_blocks, num_blocks) ||
	    !bdev_io_valid_blocks(bdev, src_offset_blocks, num_blocks)) {
		SPDK_DEBUGLOG(bdev,
@@ -10336,7 +10331,7 @@ spdk_bdev_copy_blocks(struct spdk_bdev_desc *desc, struct spdk_io_channel *ch,
	bdev_io->u.bdev.accel_sequence = NULL;
	bdev_io_init(bdev_io, bdev, cb_arg, cb);

	if (dst_offset_blocks == src_offset_blocks) {
	if (dst_offset_blocks == src_offset_blocks || num_blocks == 0) {
		spdk_thread_send_msg(spdk_get_thread(), bdev_io_complete_cb, bdev_io);
		return 0;
	}