xref: /openbmc/estoraged/src/erase/verifyDriveGeometry.cpp (revision 972c3faae9092f8a513222d0b24c36ad79f4119f)
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