commit | 64f8da9e70f821dcc29964ae90bc066aa169a178 | [log] [tgz] |
---|---|---|
author | Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> | Wed Dec 08 03:48:23 2021 -0600 |
committer | Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> | Wed Jun 21 06:09:28 2023 -0500 |
tree | 1c3e43d0894de6a7c72a05c2e8523f32ea393cf6 | |
parent | 0b566d54978e4462e51e01414bcfc13918efcb45 [diff] |
Implement GetFileHandle in dump entry interface Certain applications need to offload the dump in various ways, for example, performing DMA transfer of the dump to the host memory. These applications require direct access to the file to read from the BMC storage. This commit introduces the GetFileHandle method in the dump entry interface. This method provides direct access to the Unix file handle of the dump entry, facilitating more direct read operations on the dump file. The returned file descriptor is read-only, which ensures the integrity of the dump file. The definition of the file handle is moved from the specific 'bmc_dump_entry' class to the parent 'dump_entry' class. This allows all dump types inheriting from 'dump_entry' to use this new method, thus increasing its utility across various dump types. The introduction of this method primarily benefits PLDM for offloading the dump to the host, and bmcweb for offloading the dump to Redfish clients. By providing a file handle instead of exposing the file path, it resolves potential access issues for applications running in non-root contexts. Test: Created a dump and made sure it reached host successfully Executed with additional traces Jun 21 10:56:09 pldmd[1856]: Requesting file handle Jun 21 10:56:09 pldmd[1856]: File handle received fd=9 Jun 21 10:56:09 pldmd[1856]: Transfer data rc= 0 Jun 21 10:56:09 phosphor-dump-manager[480]: File handle \ request Jun 21 10:56:09 phosphor-dump-manager[480]: returning fd=11 Jun 21 10:56:09 pldmd[1856]: File handle received fd=9 Jun 21 10:56:09 pldmd[1856]: File read rc=15 In th host: Service Processor Dump: Maximum file size: 0 (0x00000000) bytes (0 MBs) Dumps this PHYP IPL: 1 Pending Dump: Dump ID: 00000009 File size: 3749662 \ (0x000000000039371E) bytes (3 MBs) SP dump sub type: 0x000000000000000F BMC File name: \ BMCDUMP.1392A20.00000009.20230621105510 Dump create time: 06/21/2023 10:55:10.00 PHYP notify time: 06/21/2023 10:56:00.5918570000 LP recipient: 1 LP notify time: 06/21/2023 10:56:00.5918580000 Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> Change-Id: If398940b655b4d90688273f0c76a20d4ead61992
Phosphor Debug Collector provides mechanisms to collect various log files and system parameters. Used to troubleshoot problems in OpenBMC based systems.
One such mechanism is dreport, a script that collects debug data and packages it into an archive file.
To build this package with meson, do the following steps:
1. meson builddir 2. ninja -C builddir
To clean the built files run ninja -C builddir clean
.
Tests can be run in the CI docker container, refer local-ci-build
or with an OpenBMC x86 sdk(see below for x86 steps).
meson -Dtests=enabled build ninja -C build test