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