module/raid: function pointers for submit_request in raid_bdev_module
Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com> Change-Id: I3186ea3450b91a73fa976d3d1d9cc67326daa10d Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/471088 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
parent
6ba11b194e
commit
182278c093
@ -415,7 +415,7 @@ raid_bdev_get_buf_cb(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
raid0_submit_rw_request(raid_io);
|
raid_io->raid_bdev->module->submit_rw_request(raid_io);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -446,7 +446,7 @@ raid_bdev_submit_request(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_i
|
|||||||
bdev_io->u.bdev.num_blocks * bdev_io->bdev->blocklen);
|
bdev_io->u.bdev.num_blocks * bdev_io->bdev->blocklen);
|
||||||
break;
|
break;
|
||||||
case SPDK_BDEV_IO_TYPE_WRITE:
|
case SPDK_BDEV_IO_TYPE_WRITE:
|
||||||
raid0_submit_rw_request(raid_io);
|
raid_io->raid_bdev->module->submit_rw_request(raid_io);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SPDK_BDEV_IO_TYPE_RESET:
|
case SPDK_BDEV_IO_TYPE_RESET:
|
||||||
@ -455,7 +455,7 @@ raid_bdev_submit_request(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_i
|
|||||||
|
|
||||||
case SPDK_BDEV_IO_TYPE_FLUSH:
|
case SPDK_BDEV_IO_TYPE_FLUSH:
|
||||||
case SPDK_BDEV_IO_TYPE_UNMAP:
|
case SPDK_BDEV_IO_TYPE_UNMAP:
|
||||||
raid0_submit_null_payload_request(raid_io);
|
raid_io->raid_bdev->module->submit_null_payload_request(raid_io);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -253,6 +253,12 @@ struct raid_bdev_module {
|
|||||||
/* RAID level implemented by this module */
|
/* RAID level implemented by this module */
|
||||||
enum raid_level level;
|
enum raid_level level;
|
||||||
|
|
||||||
|
/* Handler for R/W requests */
|
||||||
|
void (*submit_rw_request)(struct raid_bdev_io *raid_io);
|
||||||
|
|
||||||
|
/* Handler for requests without payload (flush, unmap) */
|
||||||
|
void (*submit_null_payload_request)(struct raid_bdev_io *raid_io);
|
||||||
|
|
||||||
TAILQ_ENTRY(raid_bdev_module) link;
|
TAILQ_ENTRY(raid_bdev_module) link;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -268,10 +274,6 @@ __RAID_MODULE_REGISTER(__LINE__)(void) \
|
|||||||
raid_bdev_module_list_add(_module); \
|
raid_bdev_module_list_add(_module); \
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
raid0_submit_rw_request(struct raid_bdev_io *raid_io);
|
|
||||||
void
|
|
||||||
raid0_submit_null_payload_request(struct raid_bdev_io *raid_io);
|
|
||||||
void
|
void
|
||||||
raid_bdev_base_io_completion(struct spdk_bdev_io *bdev_io, bool success, void *cb_arg);
|
raid_bdev_base_io_completion(struct spdk_bdev_io *bdev_io, bool success, void *cb_arg);
|
||||||
void
|
void
|
||||||
|
@ -65,6 +65,9 @@ raid0_bdev_io_completion(struct spdk_bdev_io *bdev_io, bool success, void *cb_ar
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
raid0_submit_rw_request(struct raid_bdev_io *raid_io);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_raid0_submit_rw_request(void *_raid_io)
|
_raid0_submit_rw_request(void *_raid_io)
|
||||||
{
|
{
|
||||||
@ -82,7 +85,7 @@ _raid0_submit_rw_request(void *_raid_io)
|
|||||||
* returns:
|
* returns:
|
||||||
* none
|
* none
|
||||||
*/
|
*/
|
||||||
void
|
static void
|
||||||
raid0_submit_rw_request(struct raid_bdev_io *raid_io)
|
raid0_submit_rw_request(struct raid_bdev_io *raid_io)
|
||||||
{
|
{
|
||||||
struct spdk_bdev_io *bdev_io = spdk_bdev_io_from_ctx(raid_io);
|
struct spdk_bdev_io *bdev_io = spdk_bdev_io_from_ctx(raid_io);
|
||||||
@ -248,6 +251,9 @@ _raid0_split_io_range(struct raid_bdev_io_range *io_range, uint8_t disk_idx,
|
|||||||
*_nblocks_in_disk = nblocks_in_disk;
|
*_nblocks_in_disk = nblocks_in_disk;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
raid0_submit_null_payload_request(struct raid_bdev_io *raid_io);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_raid0_submit_null_payload_request(void *_raid_io)
|
_raid0_submit_null_payload_request(void *_raid_io)
|
||||||
{
|
{
|
||||||
@ -267,7 +273,7 @@ _raid0_submit_null_payload_request(void *_raid_io)
|
|||||||
* returns:
|
* returns:
|
||||||
* none
|
* none
|
||||||
*/
|
*/
|
||||||
void
|
static void
|
||||||
raid0_submit_null_payload_request(struct raid_bdev_io *raid_io)
|
raid0_submit_null_payload_request(struct raid_bdev_io *raid_io)
|
||||||
{
|
{
|
||||||
struct spdk_bdev_io *bdev_io;
|
struct spdk_bdev_io *bdev_io;
|
||||||
@ -336,6 +342,8 @@ raid0_submit_null_payload_request(struct raid_bdev_io *raid_io)
|
|||||||
|
|
||||||
static struct raid_bdev_module g_raid0_module = {
|
static struct raid_bdev_module g_raid0_module = {
|
||||||
.level = RAID0,
|
.level = RAID0,
|
||||||
|
.submit_rw_request = raid0_submit_rw_request,
|
||||||
|
.submit_null_payload_request = raid0_submit_null_payload_request,
|
||||||
};
|
};
|
||||||
RAID_MODULE_REGISTER(&g_raid0_module)
|
RAID_MODULE_REGISTER(&g_raid0_module)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user