pw_kvs: Don't garbage collect sectors with copies of an in-progress key

Don't garbage collect sectors in the addresses to avoid list. These are
addresses of redundant copies already written of the key we are trying
to write.

This results is failing to write keys sooner in some workloads with
near-full flash.  This change is to simplify how GC works to make some KVS restructuring
easier to do.

Change-Id: I1bc52728fa29006253dbff529447e7385376d3a7
2 files changed
tree: e08bbd56f05417a8a9cb52a1fb296a6fa671acb2
  1. docs/
  2. pw_assert/
  3. pw_assert_basic/
  4. pw_base64/
  5. pw_bloat/
  6. pw_boot_armv7m/
  7. pw_build/
  8. pw_checksum/
  9. pw_cli/
  10. pw_containers/
  11. pw_cpu_exception/
  12. pw_cpu_exception_armv7m/
  13. pw_docgen/
  14. pw_doctor/
  15. pw_env_setup/
  16. pw_kvs/
  17. pw_log/
  18. pw_log_basic/
  19. pw_minimal_cpp_stdlib/
  20. pw_module/
  21. pw_polyfill/
  22. pw_preprocessor/
  23. pw_presubmit/
  24. pw_protobuf/
  25. pw_protobuf_compiler/
  26. pw_span/
  27. pw_status/
  28. pw_string/
  29. pw_sys_io/
  30. pw_sys_io_baremetal_stm32f429/
  31. pw_sys_io_stdio/
  32. pw_target_runner/
  33. pw_tokenizer/
  34. pw_toolchain/
  35. pw_unit_test/
  36. pw_varint/
  37. pw_watch/
  38. targets/
  39. .clang-format
  40. .gitignore
  41. .gn
  42. .pylintrc
  43. activate.bat
  44. AUTHORS
  45. bootstrap.bat
  46. bootstrap.sh
  47. BUILD
  48. BUILD.gn
  49. BUILDCONFIG.gn
  50. CMakeLists.txt
  51. CODE_OF_CONDUCT.md
  52. CONTRIBUTING.md
  53. LICENSE
  54. modules.gni
  55. pw_vars_default.gni
  56. README.md
  57. WORKSPACE
README.md

Pigweed

Pigweed is an open source collection of embedded-targeted libraries--or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.

Pigweed is in the early stages of development, and should be considered experimental. We’re continuing to evolve the platform and add new modules. We value developer feedback along the way.

Pigweed is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

Getting Started

If you'd like to get set up with Pigweed, please visit the setup guide, and then check out the Pigweed developer's guide for more information on how to get the most out of Pigweed.