From 6c461b712b5830ab1afbe366cfba238e39ce97c5 Mon Sep 17 00:00:00 2001 From: Maurizio Lombardi Date: Thu, 25 May 2023 11:11:26 +0200 Subject: [PATCH] Fix printing the SSTAT field Resolves: #2208399 Signed-off-by: Maurizio Lombardi --- ...vme-Masks-SSTAT-in-sanize-log-output.patch | 35 +++++++++++++++++++ nvme-cli.spec | 9 +++-- 2 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 0004-Revert-nvme-Masks-SSTAT-in-sanize-log-output.patch diff --git a/0004-Revert-nvme-Masks-SSTAT-in-sanize-log-output.patch b/0004-Revert-nvme-Masks-SSTAT-in-sanize-log-output.patch new file mode 100644 index 0000000..07902b4 --- /dev/null +++ b/0004-Revert-nvme-Masks-SSTAT-in-sanize-log-output.patch @@ -0,0 +1,35 @@ +From e1afeffcbb78e252bbb0d21d2f4ed0fffeb59105 Mon Sep 17 00:00:00 2001 +From: Maurizio Lombardi +Date: Tue, 23 May 2023 15:08:40 +0200 +Subject: [PATCH] Revert "nvme: Masks SSTAT in sanize-log output" + +The NVME_SANITIZE_SSTAT_STATUS_MASK is used to mask the +3 least significant bits (representing the status of the most recent +sanitize operation) of the SSTAT field. + +The SSTAT field is 16 bits wide and contains other information too, such +as the Global Data Erased bit and the number of completed passes. + +Revert this commit so nvme-cli will print the entire SSTAT field + +This reverts commit 7092ff55c5d9017231a68fa4dbb9a37b42d61d61. +--- + nvme-print.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/nvme-print.c b/nvme-print.c +index c989435d..735ec193 100644 +--- a/nvme-print.c ++++ b/nvme-print.c +@@ -4423,7 +4423,7 @@ void nvme_show_sanitize_log(struct nvme_sanitize_log_page *sanitize, + printf("\n"); + + printf("Sanitize Status (SSTAT) : %#x\n", +- le16_to_cpu(sanitize->sstat) & NVME_SANITIZE_SSTAT_STATUS_MASK); ++ le16_to_cpu(sanitize->sstat)); + if (human) + nvme_show_sanitize_log_sstat(le16_to_cpu(sanitize->sstat)); + +-- +2.39.3 + diff --git a/nvme-cli.spec b/nvme-cli.spec index 77c8493..737359a 100644 --- a/nvme-cli.spec +++ b/nvme-cli.spec @@ -3,7 +3,7 @@ Name: nvme-cli Version: 2.4 -Release: 4%{?dist} +Release: 5%{?dist} Summary: NVMe management command line interface License: GPLv2+ @@ -13,6 +13,7 @@ Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz Patch0: 0001-nbft-make-lookup_ctrl-function-public.patch Patch1: 0002-nbft-added-NBFT-v1.0-table-support.patch Patch2: 0003-nbft-add-the-nbft-show-plugin.patch +Patch3: 0004-Revert-nvme-Masks-SSTAT-in-sanize-log-output.patch BuildRequires: meson >= 0.50.0 BuildRequires: gcc gcc-c++ @@ -20,7 +21,7 @@ BuildRequires: libuuid-devel BuildRequires: systemd-devel BuildRequires: systemd-rpm-macros BuildRequires: zlib-devel -BuildRequires: libnvme-devel >= 1.4 +BuildRequires: libnvme-devel >= 1.4-5 BuildRequires: json-c-devel >= 0.14 BuildRequires: asciidoc BuildRequires: xmlto @@ -37,6 +38,7 @@ nvme-cli provides NVM-Express user space tooling for Linux. %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 %build %meson -Dudevrulesdir=%{_udevrulesdir} -Dsystemddir=%{_unitdir} -Ddocs=all -Ddocs-build=true -Dhtmldir=%{_pkgdocdir} @@ -96,6 +98,9 @@ fi %changelog +* Thu May 25 2023 Maurizio Lombardi - 2.4-5 +- Fix SSTAT print (BZ2208399) + * Tue May 16 2023 Maurizio Lombardi - 2.4-4 - Add support to NBFT (BZ2188518)