diff --git a/include/spdk/nvme.h b/include/spdk/nvme.h index 84b692fbc..1180e7fdc 100644 --- a/include/spdk/nvme.h +++ b/include/spdk/nvme.h @@ -1937,6 +1937,7 @@ enum spdk_nvme_ns_flags { metadata is transferred as a contiguous part of the logical block that it is associated with */ SPDK_NVME_NS_WRITE_UNCORRECTABLE_SUPPORTED = 0x40, /**< The write uncorrectable command is supported */ + SPDK_NVME_NS_COMPARE_SUPPORTED = 0x80, /**< The compare command is supported */ }; /** diff --git a/lib/nvme/nvme_ns.c b/lib/nvme/nvme_ns.c index b6b6bc58b..095f0829a 100644 --- a/lib/nvme/nvme_ns.c +++ b/lib/nvme/nvme_ns.c @@ -83,6 +83,10 @@ nvme_ns_set_identify_data(struct spdk_nvme_ns *ns) ns->flags |= SPDK_NVME_NS_DEALLOCATE_SUPPORTED; } + if (ns->ctrlr->cdata.oncs.compare) { + ns->flags |= SPDK_NVME_NS_COMPARE_SUPPORTED; + } + if (ns->ctrlr->cdata.vwc.present) { ns->flags |= SPDK_NVME_NS_FLUSH_SUPPORTED; }