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