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:
parent
e2eac3bbd9
commit
e9e9053a23
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user