- Revert "nvme: Masks SSTAT in sanize-log output"

- fabrics: Fix ordering for auto connect services
This commit is contained in:
eabdullin 2023-08-03 11:41:01 +03:00
parent c998d1a03e
commit f005418abb
3 changed files with 111 additions and 1 deletions

View File

@ -0,0 +1,35 @@
From e1afeffcbb78e252bbb0d21d2f4ed0fffeb59105 Mon Sep 17 00:00:00 2001
From: Maurizio Lombardi <mlombard@redhat.com>
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

View File

@ -0,0 +1,62 @@
From ad9f35c0bf8a71c6a4b7586d7553b8e9d171f48e Mon Sep 17 00:00:00 2001
From: Daniel Wagner <dwagner@suse.de>
Date: Tue, 7 Mar 2023 10:24:01 +0100
Subject: [PATCH] fabrics: Fix ordering for auto connect services
In order to be able to mount file systems via /etc/fstab we have to
make sure that the corresponding auto connect services have been
executed. Because the mounting of the local filesystem happens very
early in the boot we have to carefully sort these service file into the
boot process.
First, we have to disable the DefaultDependency as this will
automatically add dependency on sysinit.target which is too late (after
local mounts). Though without the default dependency we have to provide
a Before and After conditions.
The Before is simple as we have a local-fs-pre target. The After
is a bit tricky as there are no targets available.
Because the whole autoconnect machinery depends on udev events being
delivered we place the service after systemd-udevd has been started.
Link: https://www.freedesktop.org/software/systemd/man/bootup.html
Reported-by: Maurizio Lombardi <mlombard@redhat.com>
Reported-by: Wen Xiong <wenxiong@linux.ibm.com>
Tested-by: Maurizio Lombardi <mlombard@redhat.com>
Tested-by: Wen Xiong <wenxiong@linux.ibm.com>
Signed-off-by: Daniel Wagner <dwagner@suse.de>
---
nvmf-autoconnect/systemd/nvmefc-boot-connections.service.in | 3 +++
nvmf-autoconnect/systemd/nvmf-connect@.service.in | 4 +++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/nvmf-autoconnect/systemd/nvmefc-boot-connections.service.in b/nvmf-autoconnect/systemd/nvmefc-boot-connections.service.in
index 33ab8c1f6..7036625c7 100644
--- a/nvmf-autoconnect/systemd/nvmefc-boot-connections.service.in
+++ b/nvmf-autoconnect/systemd/nvmefc-boot-connections.service.in
@@ -1,6 +1,9 @@
[Unit]
Description=Auto-connect to subsystems on FC-NVME devices found during boot
ConditionPathExists=/sys/class/fc/fc_udev_device/nvme_discovery
+DefaultDependencies=no
+After=systemd-udevd.service
+Before=local-fs-pre.target
[Service]
Type=oneshot
diff --git a/nvmf-autoconnect/systemd/nvmf-connect@.service.in b/nvmf-autoconnect/systemd/nvmf-connect@.service.in
index 90f774c55..dd245ee6e 100644
--- a/nvmf-autoconnect/systemd/nvmf-connect@.service.in
+++ b/nvmf-autoconnect/systemd/nvmf-connect@.service.in
@@ -4,7 +4,9 @@
[Unit]
Description=NVMf auto-connect scan upon nvme discovery controller Events
-After=syslog.target
+DefaultDependencies=no
+After=systemd-udevd.service
+Before=local-fs-pre.target
PartOf=nvmf-connect.target
Requires=nvmf-connect.target

View File

@ -3,13 +3,19 @@
Name: nvme-cli
Version: 2.2.1
Release: 2%{?dist}
Release: 4%{?dist}.alma
Summary: NVMe management command line interface
License: GPLv2+
URL: https://github.com/linux-nvme/nvme-cli
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# Patches was taken from:
# https://gitlab.com/redhat/centos-stream/rpms/nvme-cli/-/blob/6c461b712b5830ab1afbe366cfba238e39ce97c5/0004-Revert-nvme-Masks-SSTAT-in-sanize-log-output.patch
Patch0001: 0001-Revert-nvme-Masks-SSTAT-in-sanize-log-output.patch
# https://github.com/linux-nvme/nvme-cli/commit/ad9f35c0bf8a71c6a4b7586d7553b8e9d171f48e
Patch0002: 0002-fabrics-Fix-ordering-for-auto-connect-services.patch
BuildRequires: meson >= 0.48.0
BuildRequires: gcc gcc-c++
BuildRequires: libuuid-devel
@ -30,6 +36,9 @@ nvme-cli provides NVM-Express user space tooling for Linux.
#%%setup -qn %%{name}-%%{commit0}
%setup -q
%patch0001 -p1
%patch0002 -p1
%build
%meson -Dudevrulesdir=%{_udevrulesdir} -Dsystemddir=%{_unitdir} -Ddocs=all -Ddocs-build=true -Dhtmldir=%{_pkgdocdir}
%meson_build
@ -87,6 +96,10 @@ if [ $1 -eq 1 ] || [ $1 -eq 2 ]; then
fi
%changelog
* Thu Aug 03 2023 Eduard Abdullin <eabdullin@almalinux.org> - 2.1.2-4.alma
- Revert "nvme: Masks SSTAT in sanize-log output"
- fabrics: Fix ordering for auto connect services
* Thu Nov 10 2022 Maurizio Lombardi <mlombard@redhat.com> - 2.1.2-2
- Do not re-enable nvmefc-boot-connections when the package gets updated