Commit 7d07969f authored by Ankit Kumar's avatar Ankit Kumar Committed by Konrad Sztyber
Browse files

nvme/fio_plugin: include check for trim



The check for block size to be multiple of LBA data size
or extended LBA data size is missing for DDIR_TRIM.
Use for_each_rw_ddir(), which covers DDIR_READ, DDIR_WRITE
and DDIR_TRIM.

Change-Id: I3e7adead6efefb1ef2623fc04f0852342d965873
Signed-off-by: default avatarAnkit Kumar <ankit.kumar@samsung.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18059


Community-CI: Mellanox Build Bot
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 6b528ed2
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -391,7 +391,8 @@ attach_cb(void *cb_ctx, const struct spdk_nvme_transport_id *trid,
	}

	block_size = _nvme_get_host_buffer_sector_size(ns, fio_qpair->io_flags);
	if (td->o.bs[DDIR_READ] % block_size != 0 || td->o.bs[DDIR_WRITE] % block_size != 0) {
	for_each_rw_ddir(ddir) {
		if (td->o.bs[ddir] % block_size != 0) {
			if (spdk_nvme_ns_supports_extended_lba(ns)) {
				SPDK_ERRLOG("--bs has to be a multiple of (LBA data size + Metadata size)\n");
			} else {
@@ -400,6 +401,7 @@ attach_cb(void *cb_ctx, const struct spdk_nvme_transport_id *trid,
			g_error = true;
			return;
		}
	}

	if (fio_options->zone_append && spdk_nvme_ns_get_csi(ns) == SPDK_NVME_CSI_ZNS) {
		if (spdk_nvme_ctrlr_get_flags(ctrlr) & SPDK_NVME_CTRLR_ZONE_APPEND_SUPPORTED) {