blob: ea6c76fb348de5c19a35f9b59e0fef6d41eaa0b0 [file] [log] [blame]
John Edward Broadbente6ffe702021-10-14 14:03:11 -07001#include "verifyDriveGeometry.hpp"
2
3#include "estoraged_conf.hpp"
4
5#include <phosphor-logging/lg2.hpp>
John Wedig972c3fa2021-12-29 17:30:41 -08006#include <xyz/openbmc_project/Common/error.hpp>
John Edward Broadbente6ffe702021-10-14 14:03:11 -07007
8#include <string>
9
John Wedig972c3fa2021-12-29 17:30:41 -080010using sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure;
John Edward Broadbente6ffe702021-10-14 14:03:11 -070011
12void 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));
John Wedig972c3fa2021-12-29 17:30:41 -080021 throw InternalFailure();
John Edward Broadbente6ffe702021-10-14 14:03:11 -070022 }
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));
John Wedig972c3fa2021-12-29 17:30:41 -080030 throw InternalFailure();
John Edward Broadbente6ffe702021-10-14 14:03:11 -070031 }
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}