From 485c79126c341f687f5acbd2293004fc262ab642 Mon Sep 17 00:00:00 2001 From: Artur Paszkiewicz Date: Thu, 10 Oct 2019 11:28:37 +0200 Subject: [PATCH] module/raid: put raid_io initialization in one place Signed-off-by: Artur Paszkiewicz Change-Id: Ie2b647031d00624e3faff57830c6e7e0e645a394 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/471082 Tested-by: SPDK CI Jenkins Reviewed-by: Shuhei Matsumoto Reviewed-by: Jim Harris Reviewed-by: Paul Luse --- module/bdev/raid/bdev_raid.c | 19 +++++++------------ module/bdev/raid/raid0.c | 3 --- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/module/bdev/raid/bdev_raid.c b/module/bdev/raid/bdev_raid.c index 4326fbf06..27d389146 100644 --- a/module/bdev/raid/bdev_raid.c +++ b/module/bdev/raid/bdev_raid.c @@ -401,11 +401,7 @@ _raid_bdev_submit_reset_request(struct spdk_io_channel *ch, struct spdk_bdev_io raid_bdev = (struct raid_bdev *)bdev_io->bdev->ctxt; raid_io = (struct raid_bdev_io *)bdev_io->driver_ctx; - raid_io->raid_ch = spdk_io_channel_get_ctx(ch); - raid_io->base_bdev_io_submitted = 0; - raid_io->base_bdev_io_completed = 0; raid_io->base_bdev_io_expected = raid_bdev->num_base_bdevs; - raid_io->base_bdev_io_status = SPDK_BDEV_IO_STATUS_SUCCESS; _raid_bdev_submit_reset_request_next(bdev_io); } @@ -422,14 +418,6 @@ _raid_bdev_submit_reset_request(struct spdk_io_channel *ch, struct spdk_bdev_io static void _raid_bdev_submit_null_payload_request(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io) { - struct raid_bdev_io *raid_io; - - raid_io = (struct raid_bdev_io *)bdev_io->driver_ctx; - raid_io->raid_ch = spdk_io_channel_get_ctx(ch); - raid_io->base_bdev_io_submitted = 0; - raid_io->base_bdev_io_completed = 0; - raid_io->base_bdev_io_status = SPDK_BDEV_IO_STATUS_SUCCESS; - SPDK_DEBUGLOG(SPDK_LOG_BDEV_RAID, "raid_bdev: type %d, range (0x%lx, 0x%lx)\n", bdev_io->type, bdev_io->u.bdev.offset_blocks, bdev_io->u.bdev.num_blocks); @@ -472,6 +460,13 @@ raid_bdev_get_buf_cb(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io, static void raid_bdev_submit_request(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io) { + struct raid_bdev_io *raid_io = (struct raid_bdev_io *)bdev_io->driver_ctx; + + raid_io->raid_ch = spdk_io_channel_get_ctx(ch); + raid_io->base_bdev_io_submitted = 0; + raid_io->base_bdev_io_completed = 0; + raid_io->base_bdev_io_status = SPDK_BDEV_IO_STATUS_SUCCESS; + switch (bdev_io->type) { case SPDK_BDEV_IO_TYPE_READ: spdk_bdev_io_get_buf(bdev_io, raid_bdev_get_buf_cb, diff --git a/module/bdev/raid/raid0.c b/module/bdev/raid/raid0.c index 5010ad236..f5887e3bf 100644 --- a/module/bdev/raid/raid0.c +++ b/module/bdev/raid/raid0.c @@ -169,14 +169,11 @@ raid0_waitq_io_process(void *ctx) void raid0_start_rw_request(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io) { - struct raid_bdev_io *raid_io; struct raid_bdev *raid_bdev; uint64_t start_strip = 0; uint64_t end_strip = 0; raid_bdev = (struct raid_bdev *)bdev_io->bdev->ctxt; - raid_io = (struct raid_bdev_io *)bdev_io->driver_ctx; - raid_io->raid_ch = spdk_io_channel_get_ctx(ch); start_strip = bdev_io->u.bdev.offset_blocks >> raid_bdev->strip_size_shift; end_strip = (bdev_io->u.bdev.offset_blocks + bdev_io->u.bdev.num_blocks - 1) >> raid_bdev->strip_size_shift;