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

bdev/null: Remove md_interleave from null_bdev_opts



Null bdev module supports only interleaved metadata. We can remove
md_interleave from null_bdev_opts and just set md_interleave to true at
bdev creation.

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


Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
parent c016e6ff
Loading
Loading
Loading
Loading
+5 −13
Original line number Diff line number Diff line
@@ -260,19 +260,11 @@ bdev_null_create(struct spdk_bdev **bdev, const struct spdk_null_bdev_opts *opts
		return -EINVAL;
	}

	if (opts->md_interleave) {
	if (opts->block_size < opts->md_size) {
		SPDK_ERRLOG("Interleaved metadata size can not be greater than block size.\n");
		return -EINVAL;
	}
	data_block_size = opts->block_size - opts->md_size;
	} else {
		if (opts->md_size != 0) {
			SPDK_ERRLOG("Metadata in separate buffer is not supported\n");
			return -ENOTSUP;
		}
		data_block_size = opts->block_size;
	}

	if (data_block_size % 512 != 0) {
		SPDK_ERRLOG("Data block size %u is not a multiple of 512.\n", opts->block_size);
@@ -302,7 +294,7 @@ bdev_null_create(struct spdk_bdev **bdev, const struct spdk_null_bdev_opts *opts
	null_disk->bdev.phys_blocklen = opts->physical_block_size;
	null_disk->bdev.blockcnt = opts->num_blocks;
	null_disk->bdev.md_len = opts->md_size;
	null_disk->bdev.md_interleave = opts->md_interleave;
	null_disk->bdev.md_interleave = true;
	null_disk->bdev.dif_type = opts->dif_type;
	null_disk->bdev.dif_is_head_of_md = opts->dif_is_head_of_md;
	/* Current block device layer API does not propagate
+0 −1
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ struct spdk_null_bdev_opts {
	uint32_t block_size;
	uint32_t physical_block_size;
	uint32_t md_size;
	bool md_interleave;
	enum spdk_dif_type dif_type;
	bool dif_is_head_of_md;
};
+0 −1
Original line number Diff line number Diff line
@@ -98,7 +98,6 @@ rpc_bdev_null_create(struct spdk_jsonrpc_request *request,
	opts.block_size = req.block_size + req.md_size;
	opts.physical_block_size = req.physical_block_size;
	opts.md_size = req.md_size;
	opts.md_interleave = true;
	opts.dif_type = req.dif_type;
	opts.dif_is_head_of_md = req.dif_is_head_of_md;
	rc = bdev_null_create(&bdev, &opts);