bdev/ocssd: Separate main and error operations of bdev_ocssd_submit_request()

As same as the last patch, follow the pattern used by standard nvme
bdev about bdev_ocssd_submit_request().

Extract main operations from bdev_ocssd_submit_request() into
_bdev_ocssd_submit_request().

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I286b4d82a356a3f1fac9c052397714cd7ee8497d
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4525
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Shuhei Matsumoto 2020-10-04 16:08:36 +09:00 committed by Tomasz Zawadzki
parent e2eac3bbd9
commit e9e9053a23

View File

@ -737,38 +737,39 @@ bdev_ocssd_delay_request(struct spdk_io_channel *ioch, struct spdk_bdev_io *bdev
spdk_poller_resume(ocssd_ioch->pending_poller);
}
static void
bdev_ocssd_submit_request(struct spdk_io_channel *ioch, struct spdk_bdev_io *bdev_io)
static int
_bdev_ocssd_submit_request(struct spdk_io_channel *ioch, struct spdk_bdev_io *bdev_io)
{
int rc = 0;
switch (bdev_io->type) {
case SPDK_BDEV_IO_TYPE_READ:
spdk_bdev_io_get_buf(bdev_io, bdev_ocssd_io_get_buf_cb,
bdev_io->u.bdev.num_blocks * bdev_io->bdev->blocklen);
break;
return 0;
case SPDK_BDEV_IO_TYPE_WRITE:
rc = bdev_ocssd_write(ioch, bdev_io);
break;
return bdev_ocssd_write(ioch, bdev_io);
case SPDK_BDEV_IO_TYPE_ZONE_MANAGEMENT:
rc = bdev_ocssd_zone_management(ioch, bdev_io);
break;
return bdev_ocssd_zone_management(ioch, bdev_io);
case SPDK_BDEV_IO_TYPE_GET_ZONE_INFO:
rc = bdev_ocssd_get_zone_info(ioch, bdev_io);
break;
return bdev_ocssd_get_zone_info(ioch, bdev_io);
case SPDK_BDEV_IO_TYPE_ZONE_APPEND:
rc = bdev_ocssd_zone_append(ioch, bdev_io);
break;
return bdev_ocssd_zone_append(ioch, bdev_io);
default:
rc = -EINVAL;
break;
return -EINVAL;
}
return 0;
}
static void
bdev_ocssd_submit_request(struct spdk_io_channel *ioch, struct spdk_bdev_io *bdev_io)
{
int rc = _bdev_ocssd_submit_request(ioch, bdev_io);
if (spdk_unlikely(rc != 0)) {
switch (rc) {
case -ENOMEM: