mbed-os/features
Christopher Haster 47bee2343c littlefs: Fixed issue with lookahead trusting old lookahead blocks
One of the big simplifications in littlefs's implementation is the
complete lack of tracking free blocks, allowing operations to simply
drop blocks that are no longer in use.

However, this means the lookahead buffer can easily contain outdated
blocks that were previously deleted. This is usually fine, as littlefs
will rescan the storage if it can't find a free block in the lookahead
buffer, but after changes that caused littlefs to more conservatively
respect the alloc acks (e611cf5), any scanned blocks after an ack would
be incorrectly trusted.

The fix is to eagerly scan ahead in the lookahead when we allocate so
that alloc acks are better able to discredit old lookahead blocks. Since
usually alloc acks are tightly coupled to allocations of one or two blocks,
this allows littlefs to properly rescan every set of allocations.

This may still be a concern if there is a long series of worn out
blocks, but in the worst case littlefs will conservatively avoid using
blocks it's not sure about.

Found by davidefer
2018-04-11 14:41:01 -05:00
..
FEATURE_BLE [BLE] Fixed inconsistent casing issue for SecurityDb 2018-03-28 10:44:09 +01:00
FEATURE_COMMON_PAL Update mbed-coap to version 4.4.1 2018-04-03 13:58:40 +03:00
FEATURE_LWIP/lwip-interface Merge pull request #6416 from kjbracey-arm/lwip_netconntype_fix 2018-03-26 14:27:09 -05:00
FEATURE_UVISOR Update uvisor-tests.txt to disable EFM32 in Jenkins 2018-02-06 18:41:19 +02:00
TESTS/filesystem Add overloaded get_erase_size API with address parameter to all block devices 2018-03-23 00:34:45 +02:00
cellular Merge pull request #6572 from TeemuKultala/at_send_wait 2018-04-10 17:58:00 -05:00
filesystem littlefs: Fixed issue with lookahead trusting old lookahead blocks 2018-04-11 14:41:01 -05:00
frameworks Unity framework : add float support in error print 2017-11-23 15:22:58 +01:00
lorawan LoRa: Improved region macro handling 2018-04-09 15:22:48 +03:00
mbedtls Merge pull request #6509 from k-stachowiak/nvseed-check 2018-04-10 14:38:47 +02:00
nanostack Add missing Doxygen descriptions for Nanostack 2018-03-21 14:15:28 +02:00
netsocket Fix IPv4 address parsing due to not-so-portable scanf modifier 2018-04-02 23:33:21 +03:00
nvstore Inrease thread stack size to 1024 bytes in NVStore test for NRF52 2018-03-30 11:32:55 -07:00
storage/FEATURE_STORAGE typos 2018-02-20 20:11:19 -05:00
unsupported Add support for STEVAL-3DP001V1 board, which has an STM32F401VE chip. This support is based on the NUCLEO-F401RE board. Which has the same amount of flash/ram but less pins available on the chip. 2018-02-28 09:37:39 +01:00