Prevent hwmon pcap path from getting truncated
When the file path was begin built, one of the subdirectories was
prefixed with '/' when ended up making that the base directory.
Fix removes the '/' from the subdirectory
Tested on Everest:
ever38bmc openpower-occ-control[5590]: Power Cap Property Change (cap=980W, enabled=n)
ever38bmc openpower-occ-control[5590]: PowerCap::writeOcc: path=/sys/bus/platform/drivers/occ-hwmon/occ-hwmon.1/hwmon
ever38bmc openpower-occ-control[5590]: Writing pcap value to hwmon
Change-Id: Ia47249cdea06225ebb5869a63582851e4dff4efa
Signed-off-by: Chris Cain <cjcain@us.ibm.com>
diff --git a/powercap.cpp b/powercap.cpp
index 26c1ee7..ffa65dd 100644
--- a/powercap.cpp
+++ b/powercap.cpp
@@ -1,3 +1,5 @@
+#include <fmt/core.h>
+
#include <phosphor-logging/log.hpp>
#include <powercap.hpp>
@@ -95,7 +97,7 @@
std::unique_ptr<fs::path> fileName =
std::make_unique<fs::path>(OCC_HWMON_PATH);
*fileName /= occMasterName;
- *fileName /= "/hwmon/";
+ *fileName /= "hwmon";
// Need to get the hwmonXX directory name, there better only be 1 dir
assert(std::distance(fs::directory_iterator(*fileName),
@@ -107,8 +109,10 @@
auto baseName = getPcapFilename(*fileName);
if (baseName.empty())
{
- log<level::ERR>("Could not find a power cap file to write to",
- entry("PATH=%s", *fileName->c_str()));
+ log<level::ERR>(
+ fmt::format("Could not find a power cap file to write to: {})",
+ fileName->c_str())
+ .c_str());
return;
}
*fileName /= baseName;
@@ -164,8 +168,10 @@
}
}
- log<level::INFO>("Power Cap Property Change", entry("PCAP=%u", pcap),
- entry("PCAP_ENABLED=%u", pcapEnabled));
+ log<level::INFO>(
+ fmt::format("Power Cap Property Change (cap={}W (input), enabled={})",
+ pcap, pcapEnabled ? 'y' : 'n')
+ .c_str());
// Determine desired action to write to occ