v2-alpha
Pre-release
Pre-release
Note!
This is the alpha release of littlefs v2. There are still a handful of tasks that need to be completed before completing the work around v2, most notably 1. implement a migration function from v1 and 2. update documentation. But at the moment littlefs v2 is code complete and passing all the tests I've been able to throw at it.
If you any issues with v2-alpha, please raise them on GitHub as that will help make the v2 release that much more stable.
More info about v2.0 progress can be found here: #85
What's new?
Big things
- Metadata logging - this is a constant-time improvement to write efficiency and wear distribution
- Custom attributes - a much requested feature for attaching small attributes to files (such as timestamps)
- Inline files - significantly improved handling of small files which can now have multiple in a single block
- XOR global state - moves and deletes should now be much faster
- Independent cache sizes - better handling of the RAM you give littlefs
- Expanding superblocks - no longer a flat cost of 2 blocks for the superblock
- True dynamic wear-leveling - no longer relies on reporting of block errors
Small things
- Configurable name/file/attr maximums - reduces RAM consumption and is still portable
- Added lfs_fs_size - no need for the extra code with lfs_fs_traverse
- Dropped global file buffer - now buffers are provided on a per-file basis
- Better update tracking - minor miscellaneous improvements
Detailed info in the PR: #85
Changes
Right now the best source of info regarding the low-level changes can be found in the commit history, which contains a detailed log of all of the changes and reasoning behind different decisions: