Commit d8e88d99 authored by Seth Howell's avatar Seth Howell Committed by Jim Harris
Browse files

nvme_ns: add function to get read value of unmapped blocks



Change-Id: I52dc3038d239661421760ceccfbbf841cc63a18a
Signed-off-by: default avatarSeth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/372000


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
parent c6dc4d18
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -910,6 +910,15 @@ uint32_t spdk_nvme_ns_get_md_size(struct spdk_nvme_ns *ns);
 */
bool spdk_nvme_ns_supports_extended_lba(struct spdk_nvme_ns *ns);

/**
 * \brief Determine the value returned when reading deallocated blocks.
 *
 * If deallocated blocks return 0, the deallocate command can be used as a more efficient alternative
 * to the write_zeroes command, especially for large requests.
 */
enum spdk_nvme_dealloc_logical_block_read_value spdk_nvme_ns_get_dealloc_logical_block_read_value(
	struct spdk_nvme_ns *ns);

/**
 * \brief Namespace command support flags.
 */
+7 −0
Original line number Diff line number Diff line
@@ -185,6 +185,13 @@ spdk_nvme_ns_get_data(struct spdk_nvme_ns *ns)
	return _nvme_ns_get_data(ns);
}

enum spdk_nvme_dealloc_logical_block_read_value spdk_nvme_ns_get_dealloc_logical_block_read_value(
	struct spdk_nvme_ns *ns)
{
	const struct spdk_nvme_ns_data *data = spdk_nvme_ns_get_data(ns);
	return data->dlfeat.bits.read_value;
}

int nvme_ns_construct(struct spdk_nvme_ns *ns, uint16_t id,
		      struct spdk_nvme_ctrlr *ctrlr)
{