1e6ffe704SJohn Edward Broadbent #include "verifyDriveGeometry.hpp" 2e6ffe704SJohn Edward Broadbent 3e6ffe704SJohn Edward Broadbent #include "estoraged_conf.hpp" 4e6ffe704SJohn Edward Broadbent 5e6ffe704SJohn Edward Broadbent #include <phosphor-logging/lg2.hpp> 6*972c3faaSJohn Wedig #include <xyz/openbmc_project/Common/error.hpp> 7e6ffe704SJohn Edward Broadbent 8e6ffe704SJohn Edward Broadbent #include <string> 9e6ffe704SJohn Edward Broadbent 10*972c3faaSJohn Wedig using sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure; 11e6ffe704SJohn Edward Broadbent 12e6ffe704SJohn Edward Broadbent void VerifyDriveGeometry::geometryOkay(uint64_t bytes) 13e6ffe704SJohn Edward Broadbent { 14e6ffe704SJohn Edward Broadbent if (bytes > ERASE_MAX_GEOMETRY) 15e6ffe704SJohn Edward Broadbent { 16e6ffe704SJohn Edward Broadbent lg2::error("Erase verify Geometry too large", "REDFISH_MESSAGE_ID", 17e6ffe704SJohn Edward Broadbent std::string("OpenBMC.0.1.DriveEraseFailure"), 18e6ffe704SJohn Edward Broadbent "REDFISH_MESSAGE_ARGS", 19e6ffe704SJohn Edward Broadbent std::to_string(bytes) + ">" + 20e6ffe704SJohn Edward Broadbent std::to_string(ERASE_MAX_GEOMETRY)); 21*972c3faaSJohn Wedig throw InternalFailure(); 22e6ffe704SJohn Edward Broadbent } 23e6ffe704SJohn Edward Broadbent else if (bytes < ERASE_MIN_GEOMETRY) 24e6ffe704SJohn Edward Broadbent { 25e6ffe704SJohn Edward Broadbent lg2::error( 26e6ffe704SJohn Edward Broadbent "eStorageD erase verify Geometry too small", "REDFISH_MESSAGE_ID", 27e6ffe704SJohn Edward Broadbent std::string("OpenBMC.0.1.DriveEraseFailure"), 28e6ffe704SJohn Edward Broadbent "REDFISH_MESSAGE_ARGS", 29e6ffe704SJohn Edward Broadbent std::to_string(bytes) + "<" + std::to_string(ERASE_MIN_GEOMETRY)); 30*972c3faaSJohn Wedig throw InternalFailure(); 31e6ffe704SJohn Edward Broadbent } 32e6ffe704SJohn Edward Broadbent else 33e6ffe704SJohn Edward Broadbent { 34e6ffe704SJohn Edward Broadbent lg2::info("eStorageD erase verify Geometry in range", 35e6ffe704SJohn Edward Broadbent "REDFISH_MESSAGE_ID", 36e6ffe704SJohn Edward Broadbent std::string("OpenBMC.0.1.DriveEraseSuccess")); 37e6ffe704SJohn Edward Broadbent } 38e6ffe704SJohn Edward Broadbent } 39