bdev/nvme: Get dif_check_flags via bdev_io->bdev in I/O paths
Using bdev_io->bdev will be more straightforward than using bdev_io->bdev->ctxt and &nbdev->disk. Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Change-Id: Ie5854ab063b7b21710e9f899dd93340624a8cb49 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5202 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot 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:
parent
3bf79d7c91
commit
1a8c6c4d4a
@ -594,7 +594,8 @@ static void
|
||||
bdev_nvme_get_buf_cb(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io,
|
||||
bool success)
|
||||
{
|
||||
struct nvme_bdev *nbdev = (struct nvme_bdev *)bdev_io->bdev->ctxt;
|
||||
struct spdk_bdev *bdev = bdev_io->bdev;
|
||||
struct nvme_bdev *nbdev = (struct nvme_bdev *)bdev->ctxt;
|
||||
struct nvme_io_channel *nvme_ch = spdk_io_channel_get_ctx(ch);
|
||||
int ret;
|
||||
|
||||
@ -611,7 +612,7 @@ bdev_nvme_get_buf_cb(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io,
|
||||
bdev_io->u.bdev.md_buf,
|
||||
bdev_io->u.bdev.num_blocks,
|
||||
bdev_io->u.bdev.offset_blocks,
|
||||
nbdev->disk.dif_check_flags);
|
||||
bdev->dif_check_flags);
|
||||
|
||||
if (spdk_likely(ret == 0)) {
|
||||
return;
|
||||
@ -626,7 +627,8 @@ static int
|
||||
_bdev_nvme_submit_request(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io)
|
||||
{
|
||||
struct nvme_io_channel *nvme_ch = spdk_io_channel_get_ctx(ch);
|
||||
struct nvme_bdev *nbdev = (struct nvme_bdev *)bdev_io->bdev->ctxt;
|
||||
struct spdk_bdev *bdev = bdev_io->bdev;
|
||||
struct nvme_bdev *nbdev = (struct nvme_bdev *)bdev->ctxt;
|
||||
struct nvme_bdev_io *nbdev_io = (struct nvme_bdev_io *)bdev_io->driver_ctx;
|
||||
struct nvme_bdev_io *nbdev_io_to_abort;
|
||||
|
||||
@ -641,7 +643,7 @@ _bdev_nvme_submit_request(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_
|
||||
bdev_nvme_get_buf_cb(ch, bdev_io, true);
|
||||
} else {
|
||||
spdk_bdev_io_get_buf(bdev_io, bdev_nvme_get_buf_cb,
|
||||
bdev_io->u.bdev.num_blocks * bdev_io->bdev->blocklen);
|
||||
bdev_io->u.bdev.num_blocks * bdev->blocklen);
|
||||
}
|
||||
return 0;
|
||||
|
||||
@ -654,7 +656,7 @@ _bdev_nvme_submit_request(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_
|
||||
bdev_io->u.bdev.md_buf,
|
||||
bdev_io->u.bdev.num_blocks,
|
||||
bdev_io->u.bdev.offset_blocks,
|
||||
nbdev->disk.dif_check_flags);
|
||||
bdev->dif_check_flags);
|
||||
|
||||
case SPDK_BDEV_IO_TYPE_COMPARE:
|
||||
return bdev_nvme_comparev(nbdev->nvme_ns,
|
||||
@ -665,7 +667,7 @@ _bdev_nvme_submit_request(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_
|
||||
bdev_io->u.bdev.md_buf,
|
||||
bdev_io->u.bdev.num_blocks,
|
||||
bdev_io->u.bdev.offset_blocks,
|
||||
nbdev->disk.dif_check_flags);
|
||||
bdev->dif_check_flags);
|
||||
|
||||
case SPDK_BDEV_IO_TYPE_COMPARE_AND_WRITE:
|
||||
return bdev_nvme_comparev_and_writev(nbdev->nvme_ns,
|
||||
@ -678,7 +680,7 @@ _bdev_nvme_submit_request(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_
|
||||
bdev_io->u.bdev.md_buf,
|
||||
bdev_io->u.bdev.num_blocks,
|
||||
bdev_io->u.bdev.offset_blocks,
|
||||
nbdev->disk.dif_check_flags);
|
||||
bdev->dif_check_flags);
|
||||
|
||||
case SPDK_BDEV_IO_TYPE_WRITE_ZEROES:
|
||||
return bdev_nvme_unmap(nbdev->nvme_ns,
|
||||
|
Loading…
Reference in New Issue
Block a user