dbus-sensors: replace fallbackNoSecondary
With nullptr input, processSecondaryControllerList will perform the same task
as fallbackNoSecondary.
Tested:
presubmit
Change-Id: I0b2eb266ad469b15a1e34acb4028d8a827799f3e
Signed-off-by: Jinliang Wang <jinliangw@google.com>
(cherry picked from commit fbb04c9e8bd356598e8a5e2c18e77900e5b4adc0)
diff --git a/recipes-phosphor/sensors/dbus-sensors/0021-nvmesensor-use-processSecondaryControllerList-to-rep.patch b/recipes-phosphor/sensors/dbus-sensors/0021-nvmesensor-use-processSecondaryControllerList-to-rep.patch
new file mode 100644
index 0000000..409a2c8
--- /dev/null
+++ b/recipes-phosphor/sensors/dbus-sensors/0021-nvmesensor-use-processSecondaryControllerList-to-rep.patch
@@ -0,0 +1,71 @@
+From 41b3dae9681fd984dae139c7becd4f4b49c6ff0c Mon Sep 17 00:00:00 2001
+From: Jinliang Wang <jinliangw@google.com>
+Date: Tue, 10 Oct 2023 13:05:49 -0700
+Subject: [PATCH] nvmesensor: use processSecondaryControllerList to replace
+ fallbackNoSecondary
+
+With nullptr input, processSecondaryControllerList will perform
+the same task as fallbackNoSecondary.
+
+Change-Id: I22ab0d2f0ba2b4c0469fe1914133a1cce0115dc4
+Signed-off-by: Jinliang Wang <jinliangw@google.com>
+---
+ src/NVMeSubsys.cpp | 21 +--------------------
+ src/NVMeSubsys.hpp | 2 --
+ 2 files changed, 1 insertion(+), 22 deletions(-)
+
+diff --git a/src/NVMeSubsys.cpp b/src/NVMeSubsys.cpp
+index 44749aa..153340c 100644
+--- a/src/NVMeSubsys.cpp
++++ b/src/NVMeSubsys.cpp
+@@ -343,7 +343,7 @@ void NVMeSubsystem::markFunctional(bool toggle)
+ << sizeof(nvme_secondary_ctrl_list)
+ << ". Fallback, using arbitrary controller as "
+ "primary.\n";
+- self->fallbackNoSecondary();
++ self->processSecondaryControllerList(nullptr);
+ return;
+ }
+ nvme_secondary_ctrl_list* listHdr =
+@@ -624,25 +624,6 @@ void NVMeSubsystem::stop()
+ }
+ }
+
+-void NVMeSubsystem::fallbackNoSecondary()
+-{
+- // choose an arbitrary one
+- auto& pc = controllers.begin()->second.first;
+- primaryController = NVMeControllerEnabled::create(std::move(*pc));
+- // replace with the new controller object
+- pc = primaryController;
+-
+- // start controller
+- for (auto& [_, pair] : controllers)
+- {
+- pair.first->start(pair.second);
+- }
+- status = Status::Start;
+-
+- // TODO: may need to wait for this to complete?
+- updateVolumes();
+-}
+-
+ sdbusplus::message::object_path
+ NVMeSubsystem::createVolume(boost::asio::yield_context yield, uint64_t size,
+ size_t lbaFormat, bool metadataAtEnd)
+diff --git a/src/NVMeSubsys.hpp b/src/NVMeSubsys.hpp
+index 5b1f62a..f8d072d 100644
+--- a/src/NVMeSubsys.hpp
++++ b/src/NVMeSubsys.hpp
+@@ -135,8 +135,6 @@ class NVMeSubsystem :
+ // mark the availability of the Storage device.
+ void markAvailable(bool toggle);
+
+- void fallbackNoSecondary();
+-
+ sdbusplus::message::object_path
+ createVolume(boost::asio::yield_context yield, uint64_t size,
+ size_t lbaFormat, bool metadataAtEnd) override;
+--
+2.42.0.609.gbb76f46606-goog
+
diff --git a/recipes-phosphor/sensors/dbus-sensors_%.bbappend b/recipes-phosphor/sensors/dbus-sensors_%.bbappend
index d800b49..0c6c6c0 100644
--- a/recipes-phosphor/sensors/dbus-sensors_%.bbappend
+++ b/recipes-phosphor/sensors/dbus-sensors_%.bbappend
@@ -89,6 +89,7 @@
file://0018-nvmesensor-increase-timeout-for-sanitize-and-namesap.patch \
file://0019-nvmesensor-print-makeLibNVMeError-for-debug.patch \
file://0020-nvmesensor-add-primary-info-for-plugins.patch \
+ file://0021-nvmesensor-use-processSecondaryControllerList-to-rep.patch \
"
PACKAGECONFIG[nvmesensor] = "-Dnvme=enabled, -Dnvme=disabled, libnvme"
SYSTEMD_SERVICE:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'nvmesensor', \