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