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,
|
bdev_nvme_get_buf_cb(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io,
|
||||||
bool success)
|
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);
|
struct nvme_io_channel *nvme_ch = spdk_io_channel_get_ctx(ch);
|
||||||
int ret;
|
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.md_buf,
|
||||||
bdev_io->u.bdev.num_blocks,
|
bdev_io->u.bdev.num_blocks,
|
||||||
bdev_io->u.bdev.offset_blocks,
|
bdev_io->u.bdev.offset_blocks,
|
||||||
nbdev->disk.dif_check_flags);
|
bdev->dif_check_flags);
|
||||||
|
|
||||||
if (spdk_likely(ret == 0)) {
|
if (spdk_likely(ret == 0)) {
|
||||||
return;
|
return;
|
||||||
@ -626,7 +627,8 @@ static int
|
|||||||
_bdev_nvme_submit_request(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io)
|
_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_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 = (struct nvme_bdev_io *)bdev_io->driver_ctx;
|
||||||
struct nvme_bdev_io *nbdev_io_to_abort;
|
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);
|
bdev_nvme_get_buf_cb(ch, bdev_io, true);
|
||||||
} else {
|
} else {
|
||||||
spdk_bdev_io_get_buf(bdev_io, bdev_nvme_get_buf_cb,
|
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;
|
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.md_buf,
|
||||||
bdev_io->u.bdev.num_blocks,
|
bdev_io->u.bdev.num_blocks,
|
||||||
bdev_io->u.bdev.offset_blocks,
|
bdev_io->u.bdev.offset_blocks,
|
||||||
nbdev->disk.dif_check_flags);
|
bdev->dif_check_flags);
|
||||||
|
|
||||||
case SPDK_BDEV_IO_TYPE_COMPARE:
|
case SPDK_BDEV_IO_TYPE_COMPARE:
|
||||||
return bdev_nvme_comparev(nbdev->nvme_ns,
|
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.md_buf,
|
||||||
bdev_io->u.bdev.num_blocks,
|
bdev_io->u.bdev.num_blocks,
|
||||||
bdev_io->u.bdev.offset_blocks,
|
bdev_io->u.bdev.offset_blocks,
|
||||||
nbdev->disk.dif_check_flags);
|
bdev->dif_check_flags);
|
||||||
|
|
||||||
case SPDK_BDEV_IO_TYPE_COMPARE_AND_WRITE:
|
case SPDK_BDEV_IO_TYPE_COMPARE_AND_WRITE:
|
||||||
return bdev_nvme_comparev_and_writev(nbdev->nvme_ns,
|
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.md_buf,
|
||||||
bdev_io->u.bdev.num_blocks,
|
bdev_io->u.bdev.num_blocks,
|
||||||
bdev_io->u.bdev.offset_blocks,
|
bdev_io->u.bdev.offset_blocks,
|
||||||
nbdev->disk.dif_check_flags);
|
bdev->dif_check_flags);
|
||||||
|
|
||||||
case SPDK_BDEV_IO_TYPE_WRITE_ZEROES:
|
case SPDK_BDEV_IO_TYPE_WRITE_ZEROES:
|
||||||
return bdev_nvme_unmap(nbdev->nvme_ns,
|
return bdev_nvme_unmap(nbdev->nvme_ns,
|
||||||
|
Loading…
Reference in New Issue
Block a user