History log of /openbmc/bios-settings-mgr/src/manager_serialize.cpp (Results 1 – 7 of 7)
Revision Date Author Comments
# 4e29f80b 20-Aug-2024 Archana Kakani <archana.kakani@ibm.com>

Add version to BaseBiosTable to prevent data loss

The initial version of the Base BIOS table did not support Value Display
Names (VDN). Support for VDN was introduced in a commit [1]. A BMC image
cr

Add version to BaseBiosTable to prevent data loss

The initial version of the Base BIOS table did not support Value Display
Names (VDN). Support for VDN was introduced in a commit [1]. A BMC image
created without VDN support stores data in the old BaseBiosTable format.
If a new BMC image (with VDN support) is flashed over an older image
(without VDN support), the BIOS manager attempts to read the binary
archive generated by the older BIOS settings manager. Since it doesn't
recognize the newly added property, it assumes the persisted file is
corrupted and ignores all the saved settings.

To prevent the loss of persisted BIOS data, the versioning support
provided by the Cereal library is used. This version information is
utilized to convert the persisted data into the current supported
format.

[1]: https://github.com/openbmc/bios-settings-mgr/commit/1a448ad88fdaec7e082b4a1c437f7f3c990402cd

Change-Id: If68be37e32ae31d7338d8933df945453a30c113a
Signed-off-by: Archana Kakani <archana.kakani@ibm.com>

show more ...


# 4b1e496a 15-Oct-2024 Manojkiran Eda <manojkiran.eda@gmail.com>

deserialize: Handle wide range of exceptions

We seem to only catch std::length_error exception and cereal exception,
but all the other exceptions like std::bad_alloc are ignored. This
commit would e

deserialize: Handle wide range of exceptions

We seem to only catch std::length_error exception and cereal exception,
but all the other exceptions like std::bad_alloc are ignored. This
commit would ensure that we catch wide range of exceptions and makes
sure we delete the corrpted file in all error scenarios.

Change-Id: Ia607ec18fdce3385fb4857d9a0608f5d8d1e8704
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>

show more ...


# ae2ed8d0 15-Oct-2024 Manojkiran Eda <manojkiran.eda@gmail.com>

Add error handling in serialize() & deserialize()

Refined the serialize and deserialize functions to incorporate robust
error handling. These checks would safeguard the application against
potential

Add error handling in serialize() & deserialize()

Refined the serialize and deserialize functions to incorporate robust
error handling. These checks would safeguard the application against
potential runtime crashes.

Change-Id: I39923feeb489a5270b961278118abcc7f4c31dee
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>

show more ...


# f19e2713 10-May-2023 Patrick Williams <patrick@stwcx.xyz>

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest .clang-format from the docs repository and reformat the
repository.

Change-Id: I8eaad22ef9603fcdddf3de9d297aafbaf7472816
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 567a3cf2 07-Dec-2021 George Liu <liuxiwei@inspur.com>

logging: switch to lg2

After switching to C++20, it is recommended to use `phosphor::lg2`
to format log, and the correct `CODE_LINE` and `CODE_FUNC` values
can be used in log tracking.

Tested: buil

logging: switch to lg2

After switching to C++20, it is recommended to use `phosphor::lg2`
to format log, and the correct `CODE_LINE` and `CODE_FUNC` values
can be used in log tracking.

Tested: built biosConfigManager successfully.
journalctl -o json-pretty SYSLOG_IDENTIFIER=biosconfig-manager
{
"_TRANSPORT" : "journal",
"_PID" : "244",
"__MONOTONIC_TIMESTAMP" : "513878067",
"_SYSTEMD_SLICE" : "system.slice",
"CODE_LINE" : "123",
"_SOURCE_REALTIME_TIMESTAMP" : "513877941",
"_HOSTNAME" : "fp5280g2",
"_CAP_EFFECTIVE" : "1ffffffffff",
"_BOOT_ID" : "40382c3612f54e1a96a6ecf41fe6b38e",
"SYSLOG_IDENTIFIER" : "biosconfig-manager",
"_CMDLINE" : "/usr/bin/biosconfig-manager",
"_EXE" : "/usr/bin/biosconfig-manager",
"LOG2_FMTMSG" : "BIOS attribute not found in the BaseBIOSTable",
"_SYSTEMD_UNIT" : "xyz.openbmc_project.biosconfig_manager.service",
"MESSAGE" : "BIOS attribute not found in the BaseBIOSTable",
"PRIORITY" : "3",
"CODE_FILE" : "../biosconfig-manager/src/manager.cpp",
"CODE_FUNC" : "virtual bios_config::Manager::PendingAttributes
bios_config::Manager::pendingAttributes
(bios_config::Manager::PendingAttributes)"
...
}

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I274d61827279b10ba3fe9d61404ce8b654ccdd9e

show more ...


# ce75d9e8 15-Dec-2020 Kuiying Wang <kuiying.wang@intel.com>

Format source file by dos2unix

dos2unix to format source file which has dos end char ^M

Change-Id: Ie975dcd4762bf7d51f627bb6c1693f13a916481b
Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>


# f1101df2 05-Nov-2020 Tom Joseph <tomjoseph@in.ibm.com>

Add serialization for bios-settings-manager

Tested: Restarted the biosconfig-manager application and
BaseBIOSTable and PendingAttributes were restored.

Signed-off-by: Tom Joseph <tomjoseph@

Add serialization for bios-settings-manager

Tested: Restarted the biosconfig-manager application and
BaseBIOSTable and PendingAttributes were restored.

Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
Change-Id: Iddbe69ed45a6895a324d236a14b6f21586315c62

show more ...