module/raid: don't support flush or unmap if there is no raid module handler
Change-Id: If248d8b0d00c0f02bbc7b25324d83139267945f3 Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/852 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
This commit is contained in:
parent
0a5194fadc
commit
1d3ca5c4c0
@ -488,6 +488,13 @@ _raid_bdev_io_type_supported(struct raid_bdev *raid_bdev, enum spdk_bdev_io_type
|
||||
{
|
||||
struct raid_base_bdev_info *base_info;
|
||||
|
||||
if (io_type == SPDK_BDEV_IO_TYPE_FLUSH ||
|
||||
io_type == SPDK_BDEV_IO_TYPE_UNMAP) {
|
||||
if (raid_bdev->module->submit_null_payload_request == NULL) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
RAID_FOR_EACH_BASE_BDEV(raid_bdev, base_info) {
|
||||
if (base_info->bdev == NULL) {
|
||||
assert(false);
|
||||
|
@ -277,7 +277,7 @@ struct raid_bdev_module {
|
||||
/* Handler for R/W requests */
|
||||
void (*submit_rw_request)(struct raid_bdev_io *raid_io);
|
||||
|
||||
/* Handler for requests without payload (flush, unmap) */
|
||||
/* Handler for requests without payload (flush, unmap). Optional. */
|
||||
void (*submit_null_payload_request)(struct raid_bdev_io *raid_io);
|
||||
|
||||
TAILQ_ENTRY(raid_bdev_module) link;
|
||||
|
Loading…
Reference in New Issue
Block a user