xref: /openbmc/estoraged/src/erase/verifyDriveGeometry.cpp (revision 82897c35761f505c2b881f72c61f726f7d562692)
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 
10d3bfa7bbSJohn Edward Broadbent namespace estoraged
11d3bfa7bbSJohn 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     }
25*82897c35SEd Tanous     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     }
34*82897c35SEd Tanous 
35*82897c35SEd Tanous     lg2::info("eStorageD erase verify Geometry in range", "REDFISH_MESSAGE_ID",
36e6ffe704SJohn Edward Broadbent               std::string("OpenBMC.0.1.DriveEraseSuccess"));
37e6ffe704SJohn Edward Broadbent }
38d3bfa7bbSJohn Edward Broadbent 
39d3bfa7bbSJohn Edward Broadbent } // namespace estoraged
40