Add rotate support if the space is full

delete the first existing file if the space is not enough

Tested:
1. create dump and make the space is not enough
busctl call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/bmc xyz.openbmc_project.Dump.Create CreateDump a{sv} 0
busctl tree xyz.openbmc_project.Dump.Manager                                                                        `-/xyz
  `-/xyz/openbmc_project
    `-/xyz/openbmc_project/dump
      |-/xyz/openbmc_project/dump/bmc
      | `-/xyz/openbmc_project/dump/bmc/entry
      |   |-/xyz/openbmc_project/dump/bmc/entry/10
      |   |-/xyz/openbmc_project/dump/bmc/entry/6
      |   |-/xyz/openbmc_project/dump/bmc/entry/7
      |   |-/xyz/openbmc_project/dump/bmc/entry/8
      |   `-/xyz/openbmc_project/dump/bmc/entry/9
      `-/xyz/openbmc_project/dump/internal
        `-/xyz/openbmc_project/dump/internal/manager

2. create dump again and the the first existing file will be deleted

Signed-off-by: Xie Ning <xiening.xll@bytedance.com>
Change-Id: Ic3b376d7e6512a264f849de760363f4e167421c7
3 files changed
tree: 2d7e51437393623dccba5302dacecd5f50a085e6
  1. dump-extensions/
  2. host-transport-extensions/
  3. subprojects/
  4. test/
  5. tools/
  6. xyz/
  7. .clang-format
  8. .gitignore
  9. bmc_dump_entry.cpp
  10. bmc_dump_entry.hpp
  11. core_manager.cpp
  12. core_manager.hpp
  13. core_manager_main.cpp
  14. dump-extensions.hpp
  15. dump_entry.cpp
  16. dump_entry.hpp
  17. dump_internal.hpp
  18. dump_manager.cpp
  19. dump_manager.hpp
  20. dump_manager_bmc.cpp
  21. dump_manager_bmc.hpp
  22. dump_manager_faultlog.cpp
  23. dump_manager_faultlog.hpp
  24. dump_manager_main.cpp
  25. dump_offload.cpp
  26. dump_offload.hpp
  27. dump_serialize.cpp
  28. dump_serialize.hpp
  29. dump_utils.cpp
  30. dump_utils.hpp
  31. elog_watch.cpp
  32. elog_watch.hpp
  33. errors_map.mako.hpp
  34. errors_map_gen.py
  35. example_errors_watch.yaml
  36. faultlog_dump_entry.cpp
  37. faultlog_dump_entry.hpp
  38. ffdc
  39. host_transport_exts.hpp
  40. LICENSE
  41. MAINTAINERS
  42. meson.build
  43. meson_options.txt
  44. OWNERS
  45. ramoops_manager.cpp
  46. ramoops_manager.hpp
  47. ramoops_manager_main.cpp
  48. README.md
  49. watch.cpp
  50. watch.hpp
README.md

phosphor-debug-collector

Phosphor Debug Collector provides mechanisms to collect various log files and system parameters. Used to troubleshoot problems in OpenBMC based systems.

To Build

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.

To run unit tests

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