mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #5761 from geky/littlefs-fix-lookahead-rewind
littlefs: Fix issue with immediate exhaustion and small unaligned storagepull/5865/merge
commit
b8abbab38b
|
@ -142,11 +142,10 @@ matrix:
|
||||||
# Run local littlefs tests
|
# Run local littlefs tests
|
||||||
- CFLAGS="-Wno-format" make -C$LITTLEFS/littlefs test QUIET=1
|
- CFLAGS="-Wno-format" make -C$LITTLEFS/littlefs test QUIET=1
|
||||||
# Run local littlefs tests with set of variations
|
# Run local littlefs tests with set of variations
|
||||||
- CFLAGS="-Wno-format -DLFS_READ_SIZE=64 -DLFS_PROG_SIZE=64" make -C$LITTLEFS/littlefs test QUIET=1
|
- CFLAGS="-Wno-format -DLFS_READ_SIZE=64 -DLFS_PROG_SIZE=64" make -C$LITTLEFS/littlefs test QUIET=1
|
||||||
- CFLAGS="-Wno-format -DLFS_READ_SIZE=1 -DLFS_PROG_SIZE=1" make -C$LITTLEFS/littlefs test QUIET=1
|
- CFLAGS="-Wno-format -DLFS_READ_SIZE=1 -DLFS_PROG_SIZE=1" make -C$LITTLEFS/littlefs test QUIET=1
|
||||||
- CFLAGS="-Wno-format -DLFS_READ_SIZE=512 -DLFS_PROG_SIZE=512" make -C$LITTLEFS/littlefs test QUIET=1
|
- CFLAGS="-Wno-format -DLFS_READ_SIZE=512 -DLFS_PROG_SIZE=512" make -C$LITTLEFS/littlefs test QUIET=1
|
||||||
- CFLAGS="-Wno-format -DLFS_BLOCK_COUNT=1023" make -C$LITTLEFS/littlefs test QUIET=1
|
- CFLAGS="-Wno-format -DLFS_BLOCK_COUNT=1023 -DLFS_LOOKAHEAD=2048" make -C$LITTLEFS/littlefs test QUIET=1
|
||||||
- CFLAGS="-Wno-format -DLFS_LOOKAHEAD=2048" make -C$LITTLEFS/littlefs test QUIET=1
|
|
||||||
# Self-hosting littlefs fuzz test with littlefs-fuse
|
# Self-hosting littlefs fuzz test with littlefs-fuse
|
||||||
- make -Clittlefs_fuse
|
- make -Clittlefs_fuse
|
||||||
- littlefs_fuse/lfs --format /dev/loop0
|
- littlefs_fuse/lfs --format /dev/loop0
|
||||||
|
|
|
@ -12,10 +12,9 @@ script:
|
||||||
- make test QUIET=1
|
- make test QUIET=1
|
||||||
|
|
||||||
# run tests with a few different configurations
|
# run tests with a few different configurations
|
||||||
- CFLAGS="-DLFS_READ_SIZE=1 -DLFS_PROG_SIZE=1" make test QUIET=1
|
- CFLAGS="-DLFS_READ_SIZE=1 -DLFS_PROG_SIZE=1" make test QUIET=1
|
||||||
- CFLAGS="-DLFS_READ_SIZE=512 -DLFS_PROG_SIZE=512" make test QUIET=1
|
- CFLAGS="-DLFS_READ_SIZE=512 -DLFS_PROG_SIZE=512" make test QUIET=1
|
||||||
- CFLAGS="-DLFS_BLOCK_COUNT=1023" make test QUIET=1
|
- CFLAGS="-DLFS_BLOCK_COUNT=1023 -DLFS_LOOKAHEAD=2048" make test QUIET=1
|
||||||
- CFLAGS="-DLFS_LOOKAHEAD=2048" make test QUIET=1
|
|
||||||
|
|
||||||
# self-host with littlefs-fuse for fuzz test
|
# self-host with littlefs-fuse for fuzz test
|
||||||
- make -C littlefs-fuse
|
- make -C littlefs-fuse
|
||||||
|
|
|
@ -2039,9 +2039,9 @@ int lfs_mount(lfs_t *lfs, const struct lfs_config *cfg) {
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
// setup free lookahead
|
// setup free lookahead, rewind so first allocation triggers a scan
|
||||||
lfs->free.begin = -lfs->cfg->lookahead;
|
lfs->free.begin = -lfs_min(lfs->cfg->lookahead, lfs->cfg->block_count);
|
||||||
lfs->free.off = lfs->cfg->lookahead;
|
lfs->free.off = -lfs->free.begin;
|
||||||
lfs->free.end = lfs->free.begin + lfs->free.off + lfs->cfg->block_count;
|
lfs->free.end = lfs->free.begin + lfs->free.off + lfs->cfg->block_count;
|
||||||
|
|
||||||
// load superblock
|
// load superblock
|
||||||
|
|
Loading…
Reference in New Issue