commit | 67a474468daf76a774db8c4ed8479d47f2aac5fe | [log] [tgz] |
---|---|---|
author | John Wedig <johnwedig@google.com> | Tue Apr 05 17:21:29 2022 -0700 |
committer | John Wedig <johnwedig@google.com> | Tue Apr 12 13:04:23 2022 -0700 |
tree | 1a757a20f088b8f1a5423e8cf759d250049739ab | |
parent | 605085a6319630441a71fecc897465b419675bf6 [diff] |
Switch eStoraged to asio interface Switching the D-Bus interface to asio makes it easier to integrate with EntityManager. In addition, this switch to asio makes sense since some of the erase operations take a long time, about 6 minutes. This commit also removes one of the clang-tidy checks because clang was flagging an error in one of the boost asio files, inside the constructor for sdbusplus::asio::connection. Tested: Tested most of the methods and properties using busctl. $ busctl call xyz.openbmc_project.eStoraged.mmcblk0 \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume FormatLuks ays 3 1 2 3 \ xyz.openbmc_project.Inventory.Item.Volume.FilesystemType.ext4 \ --timeout=60 $ busctl call xyz.openbmc_project.eStoraged.mmcblk0 \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Lock $ busctl call xyz.openbmc_project.eStoraged.mmcblk0 \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Unlock ay 3 1 2 3 $ busctl get-property xyz.openbmc_project.eStoraged.mmcblk0 \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Locked $ busctl get-property xyz.openbmc_project.eStoraged.mmcblk0 \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Drive Capacity $ busctl call xyz.openbmc_project.eStoraged.mmcblk0 \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Erase s \ xyz.openbmc_project.Inventory.Item.Volume.EraseMethod.VerifyGeometry $ busctl call xyz.openbmc_project.eStoraged.mmcblk0 \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Erase s \ xyz.openbmc_project.Inventory.Item.Volume.EraseMethod.LogicalOverWrite \ --timeout=1200 $ busctl call xyz.openbmc_project.eStoraged.mmcblk0 \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Erase s \ xyz.openbmc_project.Inventory.Item.Volume.EraseMethod.LogicalVerify \ --timeout=1200 Signed-off-by: John Wedig <johnwedig@google.com> Change-Id: I99cb371871bfa68eb0193f614f899221afd9013a
This daemon serves as an abstraction for an encrypted storage device, encapsulating the security functionality and providing a D-Bus interface to manage the encrypted filesystem on the device. Using the D-Bus interface, other software components can interact with eStoraged to do things like create a new encrypted filesystem, wipe its contents, lock/unlock the device, or change the password.