blob: 2d223a73a95fd57d41884b09ede33fba4ea9b33c [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 Edward Broadbentd3bfa7b2022-01-13 17:41:32 -080010namespace estoraged
11{
John Wedig972c3fa2021-12-29 17:30:41 -080012using sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure;
John Edward Broadbente6ffe702021-10-14 14:03:11 -070013
14void VerifyDriveGeometry::geometryOkay(uint64_t bytes)
15{
16 if (bytes > ERASE_MAX_GEOMETRY)
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(ERASE_MAX_GEOMETRY));
John Wedig972c3fa2021-12-29 17:30:41 -080023 throw InternalFailure();
John Edward Broadbente6ffe702021-10-14 14:03:11 -070024 }
25 else if (bytes < ERASE_MIN_GEOMETRY)
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(ERASE_MIN_GEOMETRY));
John Wedig972c3fa2021-12-29 17:30:41 -080032 throw InternalFailure();
John Edward Broadbente6ffe702021-10-14 14:03:11 -070033 }
34 else
35 {
36 lg2::info("eStorageD erase verify Geometry in range",
37 "REDFISH_MESSAGE_ID",
38 std::string("OpenBMC.0.1.DriveEraseSuccess"));
39 }
40}
John Edward Broadbentd3bfa7b2022-01-13 17:41:32 -080041
42} // namespace estoraged