bdev/nvme: Use bdev_nvme_find_io_path() to a remaining case, no_pi_readv()

bdev_nvme_no_pi_readv() had not been used for bdev_nvme_no_pi_readv() yet.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I9bf815b36ef0daa2f1248f618a9c7e2f1ea62346
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6603
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Shuhei Matsumoto 2021-03-01 07:07:32 +09:00 committed by Tomasz Zawadzki
parent 2b2a297de1
commit 4fa4e4cc3f

View File

@ -2288,6 +2288,8 @@ bdev_nvme_readv_done(void *ref, const struct spdk_nvme_cpl *cpl)
struct spdk_bdev_io *bdev_io = spdk_bdev_io_from_ctx(bio); struct spdk_bdev_io *bdev_io = spdk_bdev_io_from_ctx(bio);
struct nvme_bdev *nbdev = (struct nvme_bdev *)bdev_io->bdev->ctxt; struct nvme_bdev *nbdev = (struct nvme_bdev *)bdev_io->bdev->ctxt;
struct nvme_io_channel *nvme_ch; struct nvme_io_channel *nvme_ch;
struct nvme_bdev_ns *nvme_ns;
struct spdk_nvme_qpair *qpair;
int ret; int ret;
if (spdk_unlikely(spdk_nvme_cpl_is_pi_error(cpl))) { if (spdk_unlikely(spdk_nvme_cpl_is_pi_error(cpl))) {
@ -2299,17 +2301,19 @@ bdev_nvme_readv_done(void *ref, const struct spdk_nvme_cpl *cpl)
nvme_ch = spdk_io_channel_get_ctx(spdk_bdev_io_get_io_channel(bdev_io)); nvme_ch = spdk_io_channel_get_ctx(spdk_bdev_io_get_io_channel(bdev_io));
/* Read without PI checking to verify PI error. */ if (spdk_likely(bdev_nvme_find_io_path(nbdev, nvme_ch, &nvme_ns, &qpair))) {
ret = bdev_nvme_no_pi_readv(nbdev->nvme_ns->ns, /* Read without PI checking to verify PI error. */
nvme_ch->qpair, ret = bdev_nvme_no_pi_readv(nvme_ns->ns,
bio, qpair,
bdev_io->u.bdev.iovs, bio,
bdev_io->u.bdev.iovcnt, bdev_io->u.bdev.iovs,
bdev_io->u.bdev.md_buf, bdev_io->u.bdev.iovcnt,
bdev_io->u.bdev.num_blocks, bdev_io->u.bdev.md_buf,
bdev_io->u.bdev.offset_blocks); bdev_io->u.bdev.num_blocks,
if (ret == 0) { bdev_io->u.bdev.offset_blocks);
return; if (ret == 0) {
return;
}
} }
} }