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> 6972c3faaSJohn Wedig #include <xyz/openbmc_project/Common/error.hpp> 7e6ffe704SJohn Edward Broadbent 8e6ffe704SJohn Edward Broadbent #include <string> 9e6ffe704SJohn Edward Broadbent 10*d3bfa7bbSJohn Edward Broadbent namespace estoraged 11*d3bfa7bbSJohn Edward Broadbent { 12972c3faaSJohn Wedig using sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure; 13e6ffe704SJohn Edward Broadbent 14e6ffe704SJohn Edward Broadbent void VerifyDriveGeometry::geometryOkay(uint64_t bytes) 15e6ffe704SJohn Edward Broadbent { 16e6ffe704SJohn Edward Broadbent if (bytes > ERASE_MAX_GEOMETRY) 17e6ffe704SJohn Edward Broadbent { 18e6ffe704SJohn Edward Broadbent lg2::error("Erase verify Geometry too large", "REDFISH_MESSAGE_ID", 19e6ffe704SJohn Edward Broadbent std::string("OpenBMC.0.1.DriveEraseFailure"), 20e6ffe704SJohn Edward Broadbent "REDFISH_MESSAGE_ARGS", 21e6ffe704SJohn Edward Broadbent std::to_string(bytes) + ">" + 22e6ffe704SJohn Edward Broadbent std::to_string(ERASE_MAX_GEOMETRY)); 23972c3faaSJohn Wedig throw InternalFailure(); 24e6ffe704SJohn Edward Broadbent } 25e6ffe704SJohn Edward Broadbent else if (bytes < ERASE_MIN_GEOMETRY) 26e6ffe704SJohn Edward Broadbent { 27e6ffe704SJohn Edward Broadbent lg2::error( 28e6ffe704SJohn Edward Broadbent "eStorageD erase verify Geometry too small", "REDFISH_MESSAGE_ID", 29e6ffe704SJohn Edward Broadbent std::string("OpenBMC.0.1.DriveEraseFailure"), 30e6ffe704SJohn Edward Broadbent "REDFISH_MESSAGE_ARGS", 31e6ffe704SJohn Edward Broadbent std::to_string(bytes) + "<" + std::to_string(ERASE_MIN_GEOMETRY)); 32972c3faaSJohn Wedig throw InternalFailure(); 33e6ffe704SJohn Edward Broadbent } 34e6ffe704SJohn Edward Broadbent else 35e6ffe704SJohn Edward Broadbent { 36e6ffe704SJohn Edward Broadbent lg2::info("eStorageD erase verify Geometry in range", 37e6ffe704SJohn Edward Broadbent "REDFISH_MESSAGE_ID", 38e6ffe704SJohn Edward Broadbent std::string("OpenBMC.0.1.DriveEraseSuccess")); 39e6ffe704SJohn Edward Broadbent } 40e6ffe704SJohn Edward Broadbent } 41*d3bfa7bbSJohn Edward Broadbent 42*d3bfa7bbSJohn Edward Broadbent } // namespace estoraged 43