From 5a31186745c18553f252a68b8152cd01ca73e267 Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Tue, 9 Jul 2019 16:30:38 +0900 Subject: [PATCH] bdev/part: Consolidate getting remapped offset in spdk_bdev_part_submit_request All IO types but reset have used the remapped offset to submit I/O to the base bdev. Previously each IO type had got the remapped offset by itself. Consolidating it into a place will improve readability and will be helpful for the next patch. Signed-off-by: Shuhei Matsumoto Change-Id: I29465e92d8fb62e45cfc97c52fedaa661b2f0602 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/461105 Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Changpeng Liu --- lib/bdev/part.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/bdev/part.c b/lib/bdev/part.c index 2dd648271..528f99c80 100644 --- a/lib/bdev/part.c +++ b/lib/bdev/part.c @@ -214,10 +214,11 @@ spdk_bdev_part_submit_request(struct spdk_bdev_part_channel *ch, struct spdk_bde uint64_t offset; int rc = 0; + offset = bdev_io->u.bdev.offset_blocks + part->internal.offset_blocks; + /* Modify the I/O to adjust for the offset within the base bdev. */ switch (bdev_io->type) { case SPDK_BDEV_IO_TYPE_READ: - offset = bdev_io->u.bdev.offset_blocks + part->internal.offset_blocks; if (bdev_io->u.bdev.md_buf == NULL) { rc = spdk_bdev_readv_blocks(base_desc, base_ch, bdev_io->u.bdev.iovs, bdev_io->u.bdev.iovcnt, offset, @@ -233,7 +234,6 @@ spdk_bdev_part_submit_request(struct spdk_bdev_part_channel *ch, struct spdk_bde } break; case SPDK_BDEV_IO_TYPE_WRITE: - offset = bdev_io->u.bdev.offset_blocks + part->internal.offset_blocks; if (bdev_io->u.bdev.md_buf == NULL) { rc = spdk_bdev_writev_blocks(base_desc, base_ch, bdev_io->u.bdev.iovs, bdev_io->u.bdev.iovcnt, offset, @@ -249,17 +249,14 @@ spdk_bdev_part_submit_request(struct spdk_bdev_part_channel *ch, struct spdk_bde } break; case SPDK_BDEV_IO_TYPE_WRITE_ZEROES: - offset = bdev_io->u.bdev.offset_blocks + part->internal.offset_blocks; rc = spdk_bdev_write_zeroes_blocks(base_desc, base_ch, offset, bdev_io->u.bdev.num_blocks, spdk_bdev_part_complete_io, bdev_io); break; case SPDK_BDEV_IO_TYPE_UNMAP: - offset = bdev_io->u.bdev.offset_blocks + part->internal.offset_blocks; rc = spdk_bdev_unmap_blocks(base_desc, base_ch, offset, bdev_io->u.bdev.num_blocks, spdk_bdev_part_complete_io, bdev_io); break; case SPDK_BDEV_IO_TYPE_FLUSH: - offset = bdev_io->u.bdev.offset_blocks + part->internal.offset_blocks; rc = spdk_bdev_flush_blocks(base_desc, base_ch, offset, bdev_io->u.bdev.num_blocks, spdk_bdev_part_complete_io, bdev_io); break;