From b3fc4e7b4b60c990ef61cfd92ccffe25a90e40f5 Mon Sep 17 00:00:00 2001 From: Ben Walker Date: Tue, 26 Feb 2019 14:25:15 -0700 Subject: [PATCH] nvme/identify: Report all atomicity values New per-namespace values were added. Change-Id: I2d2bf76ea7944187e4a393111722e85c79e47240 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/446323 Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Shuhei Matsumoto --- examples/nvme/identify/identify.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/examples/nvme/identify/identify.c b/examples/nvme/identify/identify.c index 143d5d9c1..1fc5f74ad 100644 --- a/examples/nvme/identify/identify.c +++ b/examples/nvme/identify/identify.c @@ -736,11 +736,22 @@ print_namespace(struct spdk_nvme_ns *ns) nsdata->nsfeat.thin_prov ? "Supported" : "Not Supported"); printf("Per-NS Atomic Units: %s\n", nsdata->nsfeat.ns_atomic_write_unit ? "Yes" : "No"); - if (nsdata->nawun) { - printf("Atomic Write Unit (Normal): %d\n", nsdata->nawun + 1); - } - if (nsdata->nawupf) { - printf("Atomic Write Unit (PFail): %d\n", nsdata->nawupf + 1); + if (nsdata->nsfeat.ns_atomic_write_unit) { + if (nsdata->nawun) { + printf(" Atomic Write Unit (Normal): %d\n", nsdata->nawun + 1); + } + + if (nsdata->nawupf) { + printf(" Atomic Write Unit (PFail): %d\n", nsdata->nawupf + 1); + } + + if (nsdata->nacwu) { + printf(" Atomic Compare & Write Unit: %d\n", nsdata->nacwu + 1); + } + + printf(" Atomic Boundary Size (Normal): %d\n", nsdata->nabsn); + printf(" Atomic Boundary Size (PFail): %d\n", nsdata->nabspf); + printf(" Atomic Boundary Offset: %d\n", nsdata->nabo); } printf("NGUID/EUI64 Never Reused: %s\n", @@ -1110,6 +1121,7 @@ print_controller(struct spdk_nvme_ctrlr *ctrlr, const struct spdk_nvme_transport cdata->vwc.present ? "Present" : "Not Present"); printf("Atomic Write Unit (Normal): %d\n", cdata->awun + 1); printf("Atomic Write Unit (PFail): %d\n", cdata->awupf + 1); + printf("Atomic Compare & Write Unit: %d\n", cdata->acwu + 1); printf("Scatter-Gather List\n"); printf(" SGL Command Set: %s\n", cdata->sgls.supported == SPDK_NVME_SGLS_SUPPORTED ? "Supported" :