Skip to content

v2.7

Compare
Choose a tag to compare
@geky-bot geky-bot released this 30 Jun 18:37
611c9b2

This is a small release to add some features that help with the previous on-disk minor-version bump, per feedback from @rojer, @TjoBitDk, and others.

What's new?

  • Added lfs_fs_stat as an analog for the POSIX stavfs (#838)

    This now provides access to the on-disk format-time configuration:

    • disk_version - on-disk version
    • name_max - configurable name limit
    • file_max - configurable name limit
    • attr_max - configurable name limit

    And may be extended in the future. Notably, the current block avail/usage is missing due to performance concerns, but can be retrieved with an explicit call to lfs_fs_size.

  • Added support for writing previous on-disk minor-versions (#839)

    This feature is behind a compile-time flag, so in order to write lfs2.0 you need to compile with LFS_MULTIVERSION defined. LFS_MULTIVERSION enables an additional config option, disk_version, which currently supports three options:

    • disk_version=0 => write the most recent littlefs version
    • disk_version=0x00020001 => write lfs2.1
    • disk_version=0x00020000 => write lfs2.0 (no FCRC)

Changes

Code Stack Structs Coverage
Default 16666 B (+0.7%) 1432 B (+0.0%) 788 B (+2.1%) Lines 2316/2496 lines (+0.1%)
Readonly 6126 B (+2.3%) 448 B (+0.0%) 788 B (+2.1%) Branches 1184/1506 branches (+0.1%)
Threadsafe 17494 B (+0.8%) 1432 B (+0.0%) 796 B (+2.1%) Benchmarks
Multiversion 16742 B 1432 B 792 B Readed 29369693876 B (+0.0%)
Migrate 18350 B (+0.6%) 1736 B (+0.0%) 792 B (+2.1%) Proged 1482874766 B (+0.0%)
Error-asserts 17302 B (+0.6%) 1424 B (+0.0%) 788 B (+2.1%) Erased 1568888832 B (+0.0%)

a942cdb Bumped minor version to v2.7
79cc75d Added LFS_MULTIVERSION and testing of lfs2.0 to CI
eb9af7a Added LFS_MULTIVERSION, made lfs2.0 support a compile-time option
b72c96d Added support for writing on-disk version lfs2.0
265692e Removed fsinfo.block_usage for now
08a132e Added a link to ChaN's FatFS implementation
c5fb3f1 Changed fsinfo.minor_version -> fsinfo.disk_version
8610f7c Increased context on failures for Valgrind in CI
a51be18 Removed previous-version lfsp_fs_stat checks in test_compat
a7ccc1d Promoted lfs_gstate_needssuperblock to be available in readonly builds
fdee127 Removed use of LFS_VERSION in test_compat
87bbf1d Added lfs_fs_stat for access to filesystem status/configuration