Commit fcf59a6f authored by Shuhei Matsumoto's avatar Shuhei Matsumoto Committed by Tomasz Zawadzki
Browse files

module/bdev: Initialize bdev->dif_pi_format



Signed-off-by: default avatarShuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I5393205a7a29eca2577b4c0772ec08526fd8a8c0
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23626


Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarBen Walker <ben@nvidia.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent cdc37d69
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -817,6 +817,7 @@ vbdev_delay_register(const char *bdev_name)
		delay_node->delay_bdev.dif_type = bdev->dif_type;
		delay_node->delay_bdev.dif_is_head_of_md = bdev->dif_is_head_of_md;
		delay_node->delay_bdev.dif_check_flags = bdev->dif_check_flags;
		delay_node->delay_bdev.dif_pi_format = bdev->dif_pi_format;

		delay_node->delay_bdev.ctxt = delay_node;
		delay_node->delay_bdev.fn_table = &vbdev_delay_fn_table;
+4 −3
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ malloc_verify_pi(struct spdk_bdev_io *bdev_io)

	assert(bdev_io->u.bdev.memory_domain == NULL);
	dif_opts.size = SPDK_SIZEOF(&dif_opts, dif_pi_format);
	dif_opts.dif_pi_format = SPDK_DIF_PI_FORMAT_16;
	dif_opts.dif_pi_format = bdev->dif_pi_format;
	rc = spdk_dif_ctx_init(&dif_ctx,
			       bdev->blocklen,
			       bdev->md_len,
@@ -111,7 +111,7 @@ malloc_unmap_write_zeroes_generate_pi(struct spdk_bdev_io *bdev_io)
	int rc;

	dif_opts.size = SPDK_SIZEOF(&dif_opts, dif_pi_format);
	dif_opts.dif_pi_format = SPDK_DIF_PI_FORMAT_16;
	dif_opts.dif_pi_format = bdev->dif_pi_format;
	rc = spdk_dif_ctx_init(&dif_ctx,
			       bdev->blocklen,
			       bdev->md_len,
@@ -662,7 +662,7 @@ malloc_disk_setup_pi(struct malloc_disk *mdisk)
	struct spdk_dif_ctx_init_ext_opts dif_opts;

	dif_opts.size = SPDK_SIZEOF(&dif_opts, dif_pi_format);
	dif_opts.dif_pi_format = SPDK_DIF_PI_FORMAT_16;
	dif_opts.dif_pi_format = bdev->dif_pi_format;
	/* Set APPTAG|REFTAG_IGNORE to PI fields after creation of malloc bdev */
	rc = spdk_dif_ctx_init(&dif_ctx,
			       bdev->blocklen,
@@ -818,6 +818,7 @@ create_malloc_disk(struct spdk_bdev **bdev, const struct malloc_bdev_opts *opts)
	case SPDK_DIF_DISABLE:
		break;
	}
	mdisk->disk.dif_pi_format = SPDK_DIF_PI_FORMAT_16;

	if (opts->dif_type != SPDK_DIF_DISABLE) {
		rc = malloc_disk_setup_pi(mdisk);
+2 −1
Original line number Diff line number Diff line
@@ -99,7 +99,7 @@ bdev_null_submit_request(struct spdk_io_channel *_ch, struct spdk_bdev_io *bdev_
	    (SPDK_BDEV_IO_TYPE_READ == bdev_io->type ||
	     SPDK_BDEV_IO_TYPE_WRITE == bdev_io->type)) {
		dif_opts.size = SPDK_SIZEOF(&dif_opts, dif_pi_format);
		dif_opts.dif_pi_format = SPDK_DIF_PI_FORMAT_16;
		dif_opts.dif_pi_format = bdev->dif_pi_format;
		rc = spdk_dif_ctx_init(&dif_ctx,
				       bdev->blocklen,
				       bdev->md_len,
@@ -321,6 +321,7 @@ bdev_null_create(struct spdk_bdev **bdev, const struct spdk_null_bdev_opts *opts
	case SPDK_DIF_DISABLE:
		break;
	}
	null_disk->bdev.dif_pi_format = SPDK_DIF_PI_FORMAT_16;

	null_disk->bdev.uuid = *opts->uuid;
	null_disk->bdev.ctxt = null_disk;
+2 −1
Original line number Diff line number Diff line
@@ -4215,6 +4215,7 @@ nvme_disk_create(struct spdk_bdev *disk, const char *base_name,
		if (disk->dif_type != SPDK_DIF_DISABLE) {
			disk->dif_is_head_of_md = nsdata->dps.md_start;
			disk->dif_check_flags = prchk_flags;
			disk->dif_pi_format = (enum spdk_dif_pi_format)spdk_nvme_ns_get_pi_format(ns);
		}
	}

@@ -7302,7 +7303,7 @@ bdev_nvme_verify_pi_error(struct nvme_bdev_io *bio)
	struct spdk_dif_ctx_init_ext_opts dif_opts;

	dif_opts.size = SPDK_SIZEOF(&dif_opts, dif_pi_format);
	dif_opts.dif_pi_format = SPDK_DIF_PI_FORMAT_16;
	dif_opts.dif_pi_format = bdev->dif_pi_format;
	rc = spdk_dif_ctx_init(&dif_ctx,
			       bdev->blocklen, bdev->md_len, bdev->md_interleave,
			       bdev->dif_is_head_of_md, bdev->dif_type,
+1 −0
Original line number Diff line number Diff line
@@ -665,6 +665,7 @@ vbdev_passthru_register(const char *bdev_name)
		pt_node->pt_bdev.dif_type = bdev->dif_type;
		pt_node->pt_bdev.dif_is_head_of_md = bdev->dif_is_head_of_md;
		pt_node->pt_bdev.dif_check_flags = bdev->dif_check_flags;
		pt_node->pt_bdev.dif_pi_format = bdev->dif_pi_format;

		/* This is the context that is passed to us when the bdev
		 * layer calls in so we'll save our pt_bdev node here.
Loading