esp-idf/components/nvs_flash/src
Ivan Grokhotkov 203f75223e nvs: do eager cleanup of HashListBlocks
Previously when HashList was removing items, HashListBlocks were
removed lazily. This resulted in empty HashListBlocks dangling around
in full pages, even when all items have been erased. These blocks
would only be deleted when NVS was re-initialized
(nvs_flash_deinit/nvs_flash_init).

This change does eager cleanup instead, based on the code from
@negativekelvin offered in
https://github.com/espressif/esp-idf/issues/1642#issuecomment-367227994.

Closes https://github.com/espressif/esp-idf/issues/1642.
2019-02-28 20:38:31 +08:00
..
compressed_enum_table.hpp components/nvs: make some methods const 2016-08-23 12:08:00 +08:00
intrusive_list.h nvs_flash: Add support for nvs encryption 2018-09-24 11:25:21 +05:30
nvs_api.cpp nvs_flash: Add support for nvs encryption 2018-09-24 11:25:21 +05:30
nvs_encr.cpp nvs_flash: Add support for nvs encryption 2018-09-24 11:25:21 +05:30
nvs_encr.hpp nvs_flash: Add support for nvs encryption 2018-09-24 11:25:21 +05:30
nvs_item_hash_list.cpp nvs: do eager cleanup of HashListBlocks 2019-02-28 20:38:31 +08:00
nvs_item_hash_list.hpp nvs: don’t expect items with bad CRC to be in cache 2018-04-16 09:36:17 +00:00
nvs_ops.cpp nvs_flash: Add support for nvs encryption 2018-09-24 11:25:21 +05:30
nvs_ops.hpp nvs_flash: Add support for nvs encryption 2018-09-24 11:25:21 +05:30
nvs_page.cpp nvs_flash: Add support for nvs encryption 2018-09-24 11:25:21 +05:30
nvs_page.hpp nvs_flash: Version compatibility check for nvs storage 2018-08-05 00:00:56 +00:00
nvs_pagemanager.cpp nvs-flash: Support for blobs larger than half of SPI Flash sector size 2018-07-20 00:13:15 +05:30
nvs_pagemanager.hpp nvs_flash: Add support for nvs encryption 2018-09-24 11:25:21 +05:30
nvs_platform.hpp nvs: allow nvs_flash_init to be called more than once 2016-11-18 20:11:16 +08:00
nvs_storage.cpp nvs_flash: Add support for nvs encryption 2018-09-24 11:25:21 +05:30
nvs_storage.hpp nvs_flash: Add support for nvs encryption 2018-09-24 11:25:21 +05:30
nvs_test_api.h nvs_flash: Add support for nvs encryption 2018-09-24 11:25:21 +05:30
nvs_types.cpp nvs-flash: Support for blobs larger than half of SPI Flash sector size 2018-07-20 00:13:15 +05:30
nvs_types.hpp nvs-flash: Support for blobs larger than half of SPI Flash sector size 2018-07-20 00:13:15 +05:30
nvs.hpp Initial public version 2016-08-17 23:08:22 +08:00