Skip to content

v2.7

Compare
Choose a tag to compare
@geky-bot geky-bot released this 24 Aug 04:28
5c18a43

What's new?

  • LFS_FUSE_VERSION and a GitHub Action for tests and releases (such as this) (#52).

    As noted by @elpiel, CI on littlefs-fuse has been broken since moving from Travis CI -> GitHub Actions (the org moved but not this repo). Fortunately littlefs-fuse is redundantly tested in littlefs's CI, so the main issue is this meant releases weren't being generated.

    This PR fixes that and also adds a littlefs-fuse specific version number. The current version matches littlefs, but will not necessarily be in-sync moving forwards. This makes it possible to create minor releases for littlefs-fuse without needing a minor release in the core repo, though may make the number of different version strings flying around a bit confusing.

    Since littlefs-fuse doesn't really have a header file, this version is mainly used for the CI, though is included in the CLI version info to help debugging:

    $ ./lfs --version
    littlefs-fuse version: v2.6                   
    littlefs version: v2.6                        
    littlefs disk version: v2.1                   
    FUSE library version: 2.9.9                   
    fusermount3 version: 3.10.5                   
    using FUSE kernel interface version 7.19      
  • Adopted on-disk minor version features leveraging the new APIs introduced in littlefs v2.7 (#53):

    • Integrated lfs_fs_stat into statvfs, so statvfs.namemax reports the on-disk name_max correctly.

    • Added ./lfs --stat, which allows you to access littlefs-specific info without needing to mount the filesystem. Currently this includes:

      • on-disk version
      • block_size (from ioctl)
      • block_count (from ioctl)
      • block usage as both used, free, and percentage, for convenience
      • on-disk name_max
      • on-disk file_max
      • on-disk attr_max

      This may be extended in the future

      Example output:

      $ ./lfs --stat /dev/loop9
      disk_version: lfs2.1
      block_size: 512
      block_count: 131072
        used: 2/131072 (0.0%)
        free: 131070/131072 (100.0%)
      name_max: 255
      file_max: 2147483647
      attr_max: 1022
    • Added support for writing previous minor versions of littlefs via the --disk_version (-d) flag. Note because of limitations in FUSE's argument parser, this requires an equal sign:

      $ ./lfs -d=lfs2.0 --format /dev/loop9
      $ ./lfs --stat /dev/loop9
      disk_version: lfs2.0
      ...
  • Fixed some bugs thanks to user reports:

    • Fixed incorrect block_count when block_size is >512 bytes due to confusion around BLKGETSIZE, thanks to @taorye (#46).
    • Fixed incorrect handling of partial reads/writes, thanks to @lucckb (#54).

Changes

9ac0820 Bumped minor version to v2.7
d5d0a6c Fixed read/write syscalls to continue reading if result is less than expected
f448139 Swapped BLKGETSIZE for BLKGETSIZE64
e06caf4 fix: correct block_count with block_size
4aa80f5 Made CI unmount littlefs at the end of each test
ec4c885 Added CI testing of minor on-disk features: --stat and -d=lfs2.0
1a7881c Added some on-disk minor version features
f460630 Added GitHub Action release script
6096245 Added GitHub Action to test littlefs-fuse, removed .travis.yml
3e6041a Added a littlefs-fuse specific version number
9616385 Update copyright notice
85abdf1 Squashed 'littlefs/' changes from 66f0756..611c9b2