-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate littlefs into mbed OS #5538
Commits on Jul 12, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 8fae391 - Browse repository at this point
Copy the full SHA 8fae391View commit details -
Configuration menu - View commit details
-
Copy full SHA for c906259 - Browse repository at this point
Copy the full SHA c906259View commit details -
Squashed 'littlefs/' content from commit 663e953
git-subtree-dir: littlefs git-subtree-split: 663e953
Configuration menu - View commit details
-
Copy full SHA for 98af79f - Browse repository at this point
Copy the full SHA 98af79fView commit details -
Tweaked littlefs to fit into mbed
- Changed log statements to use the debug function - Changed %d to %ld given the type of int32_t in arm-none-eabi-gcc. In mainstream gcc this is not the case and may cause problems to upstream.
Configuration menu - View commit details
-
Copy full SHA for c586879 - Browse repository at this point
Copy the full SHA c586879View commit details -
Configuration menu - View commit details
-
Copy full SHA for 953e19e - Browse repository at this point
Copy the full SHA 953e19eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 64ff4b6 - Browse repository at this point
Copy the full SHA 64ff4b6View commit details
Commits on Jul 23, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 76d00eb - Browse repository at this point
Copy the full SHA 76d00ebView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2e9f87d - Browse repository at this point
Copy the full SHA 2e9f87dView commit details -
Increased default lookahead to 512 blocks
Because lookahead is stored efficiently as a bit-vector, this only requires a ram increase of 48 bytes (2.1% of benchmark), but decreases the SD benchmark runtime cost by 32 seconds (21.9% of benchmark). Note this is unimportant on devices with byte-reads such as NOR flash.
Configuration menu - View commit details
-
Copy full SHA for c9117d8 - Browse repository at this point
Copy the full SHA c9117d8View commit details
Commits on Sep 27, 2017
-
Squashed 'littlefs/' changes from c2283a2..9843402
9843402 Fixed incorrect return value from lfs_file_seek 273cb7c Fixed problem with lookaheads larger than block device d9367e0 Fixed collection of multiblock directories a83b2fe Added checks for out-of-bound seeks a8fa5e6 Fixed some corner cases with paths 26dd49a Fixed issue with negative modulo with unaligned lookaheads 0982020 Fixed issue with cold-write after seek to block boundary git-subtree-dir: littlefs git-subtree-split: 9843402
Configuration menu - View commit details
-
Copy full SHA for 6e99fa9 - Browse repository at this point
Copy the full SHA 6e99fa9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 37edc35 - Browse repository at this point
Copy the full SHA 37edc35View commit details -
Configuration menu - View commit details
-
Copy full SHA for b6455a3 - Browse repository at this point
Copy the full SHA b6455a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3a98733 - Browse repository at this point
Copy the full SHA 3a98733View commit details -
Converted tests into mbed-style integration tests
- TESTS/filesystem for mbed OS filesystem APIs - TESTS/filesystem_retarget for mbed OS retargeted stdlib APIs converted: - test_dirs - test_files - test_seek - test_parallel
Configuration menu - View commit details
-
Copy full SHA for 9408f2b - Browse repository at this point
Copy the full SHA 9408f2bView commit details
Commits on Oct 10, 2017
-
Configuration menu - View commit details
-
Copy full SHA for c390e89 - Browse repository at this point
Copy the full SHA c390e89View commit details -
Ported lfs_util functions to IAR intrinsics
required intrinsics for: - lfs_ctz - lfs_npw2
Configuration menu - View commit details
-
Copy full SHA for 301232e - Browse repository at this point
Copy the full SHA 301232eView commit details
Commits on Oct 13, 2017
-
Squashed 'littlefs/' changes from 9843402..454b588
454b588 Updated SPEC.md and DESIGN.md based on recent changes f3578e3 Removed clamping to block size in ctz linked-list 83d4c61 Updated copyright 539409e Refactored deduplicate/deorphan step to single deorphan step 2936514 Added atomic move using dirty tag in entry type ac9766e Added self-hosting fuzz test using littlefs-fuse 9db1a86 Added specification document git-subtree-dir: littlefs git-subtree-split: 454b588
Configuration menu - View commit details
-
Copy full SHA for 3c3b032 - Browse repository at this point
Copy the full SHA 3c3b032View commit details -
Configuration menu - View commit details
-
Copy full SHA for 383677f - Browse repository at this point
Copy the full SHA 383677fView commit details
Commits on Oct 16, 2017
-
Fixed incorrect instruction in IAR ctz implementation
The RBIT instruction reverses the bits of a word, not REV
Configuration menu - View commit details
-
Copy full SHA for 6fc33f4 - Browse repository at this point
Copy the full SHA 6fc33f4View commit details
Commits on Oct 17, 2017
-
Removed toolchain specific warnings
- Comparisons with differently signed integer types - Incorrectly signed constant - Unreachable default returns - Leaked uninitialized variables in relocate goto statements
Configuration menu - View commit details
-
Copy full SHA for 11440f6 - Browse repository at this point
Copy the full SHA 11440f6View commit details
Commits on Oct 26, 2017
-
Configuration menu - View commit details
-
Copy full SHA for adbd029 - Browse repository at this point
Copy the full SHA adbd029View commit details
Commits on Oct 30, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 0171b57 - Browse repository at this point
Copy the full SHA 0171b57View commit details -
Configuration menu - View commit details
-
Copy full SHA for 26ade62 - Browse repository at this point
Copy the full SHA 26ade62View commit details
Commits on Oct 31, 2017
-
Added simple high-level thread safety
All calls are blocking, so a single mutex is able to garuntee synchronization across all relevant functions.
Configuration menu - View commit details
-
Copy full SHA for 5e4ef9f - Browse repository at this point
Copy the full SHA 5e4ef9fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 72fab82 - Browse repository at this point
Copy the full SHA 72fab82View commit details
Commits on Nov 10, 2017
-
Cleaned up compilation with logging enabled
- Removed list of warnings on signedness of integers in printf - Fixed issue with "true" in ifdef
Configuration menu - View commit details
-
Copy full SHA for 71b429b - Browse repository at this point
Copy the full SHA 71b429bView commit details -
Fixed issue with aggressively rounding down lookahead configuration
The littlefs allows buffers to be passed statically in the case that a system does not have a heap. Unfortunately, this means we can't round up in the case of an unaligned lookahead buffer. Double unfortunately, rounding down after clamping to the block device size could result in a lookahead of zero for block devices < 32 blocks large. The assert in littlefs does catch this case, but rounding down prevents support for < 32 block devices. The solution is to simply require a 32-bit aligned buffer with an assert. This avoids runtime problems while allowing a user to pass in the correct buffer for < 32 block devices. Rounding up can be handled at higher API levels.
Configuration menu - View commit details
-
Copy full SHA for 785b0b4 - Browse repository at this point
Copy the full SHA 785b0b4View commit details -
Fixed corner case with immediate exhaustion and lookahead==block_count
The previous math for determining if we scanned all of disk wasn't set up correctly in the lfs_mount function. If lookahead == block_count the lfs_alloc function would think we had already searched the entire disk. This is only an issue if we manage to exhaust a block on the first pass after mount, since lfs_alloc_ack resets the lookahead region into a valid state after a succesful block allocation.
Configuration menu - View commit details
-
Copy full SHA for d3b2efe - Browse repository at this point
Copy the full SHA d3b2efeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3778759 - Browse repository at this point
Copy the full SHA 3778759View commit details -
Configuration menu - View commit details
-
Copy full SHA for ee52d6d - Browse repository at this point
Copy the full SHA ee52d6dView commit details
Commits on Nov 17, 2017
-
Squashed 'littlefs/' changes from 3f31c8c..78c79ec
78c79ec Added QUIET flag to tests so CI is readable f9f4f5c Fixed standard name mismatch LFS_ERR_EXISTS -> LFS_ERR_EXIST 843e3c6 Added sticky-bit for preventing file syncs after write errors 2612e1b Modified lfs_ctz_extend to be a little bit safer 6664723 Fixed issue with committing directories to bad-blocks that are stuck git-subtree-dir: littlefs git-subtree-split: 78c79ec
Configuration menu - View commit details
-
Copy full SHA for 0f4e334 - Browse repository at this point
Copy the full SHA 0f4e334View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9f8d0d6 - Browse repository at this point
Copy the full SHA 9f8d0d6View commit details -
Fixed memory leak when files/dirs error
Error path did not clean up after itself correctly
Configuration menu - View commit details
-
Copy full SHA for 7eaf61c - Browse repository at this point
Copy the full SHA 7eaf61cView commit details -
Add tests for filesystem resilience and wear leveling. These tests take shared filesystem code and simulate different scenarios while this code is running. Information on the new tests can be found below. mbed-littlefs-tests-filesystem_recovery-resilience: Tests that after every block device operation the filesystem is in a well defined state. mbed-littlefs-tests-filesystem_recovery-wear_leveling: Tests that the littlefs correctly handles when flash is exhausted by using a simulated block device until there are no free good blocks. Note - This patch also adds several new block devices for testing. These will eventually be moved into mbed-os.
Configuration menu - View commit details
-
Copy full SHA for bb155ad - Browse repository at this point
Copy the full SHA bb155adView commit details -
Add a test which repeatedly resets a device and then checks that the filesystem is still valid using real hardware.
Configuration menu - View commit details
-
Copy full SHA for 2d374ce - Browse repository at this point
Copy the full SHA 2d374ceView commit details -
Merge pull request ARMmbed#9 from c1728p9/resilience_and_wear_leveling
Add filesystem recovery tests
Configuration menu - View commit details
-
Copy full SHA for 3bdb80f - Browse repository at this point
Copy the full SHA 3bdb80fView commit details -
Renamed "parallel" tests to "intersperesed"
The parallel name was incorrect. These tests do not involve mutliple threads, but rather write to multiple files an in interspersed manner sequentially.
Configuration menu - View commit details
-
Copy full SHA for 5afec68 - Browse repository at this point
Copy the full SHA 5afec68View commit details
Commits on Nov 18, 2017
-
Added test configuration support for block devices
Defaulted to HeapBlockDevice. Unfortunately this does mean that by default almost none of the tests are actually capable of running unless the dut has >512KB or RAM.
Configuration menu - View commit details
-
Copy full SHA for 3c9f2be - Browse repository at this point
Copy the full SHA 3c9f2beView commit details
Commits on Nov 20, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 9b79136 - Browse repository at this point
Copy the full SHA 9b79136View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0a19746 - Browse repository at this point
Copy the full SHA 0a19746View commit details -
Updated documentation to match other info around littlefs
Mostly brought from documentation changes in the core repo
Configuration menu - View commit details
-
Copy full SHA for 8d336f2 - Browse repository at this point
Copy the full SHA 8d336f2View commit details -
Update unexpected reset host test for htrun
Update the key used in the reset host to match the latest version of htrun.
Configuration menu - View commit details
-
Copy full SHA for b958997 - Browse repository at this point
Copy the full SHA b958997View commit details
Commits on Nov 22, 2017
-
Merge pull request ARMmbed#10 from c1728p9/htrun_update
Update unexpected reset host test for htrun
Configuration menu - View commit details
-
Copy full SHA for fa5e34e - Browse repository at this point
Copy the full SHA fa5e34eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3eb2f38 - Browse repository at this point
Copy the full SHA 3eb2f38View commit details -
Configuration menu - View commit details
-
Copy full SHA for ad07da0 - Browse repository at this point
Copy the full SHA ad07da0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9da2475 - Browse repository at this point
Copy the full SHA 9da2475View commit details -
Configuration menu - View commit details
-
Copy full SHA for 91a4f44 - Browse repository at this point
Copy the full SHA 91a4f44View commit details -
Removed warnings about format strings when running littlefs tests
The difference gcc targets differ with format strings in some odd (but not against the rules) ways. Most notable, the uint32_t in i386/x86_64 gcc uses %d, whereas on cortex-m gcc uses %ld. This makes dealing with warnings on code that goes between the two rather annoying.
Configuration menu - View commit details
-
Copy full SHA for d02b312 - Browse repository at this point
Copy the full SHA d02b312View commit details -
Add 'features/filesystem/littlefs/' from commit 'd02b3122f006aa201bca…
Configuration menu - View commit details
-
Copy full SHA for 314995f - Browse repository at this point
Copy the full SHA 314995fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9bc4ea6 - Browse repository at this point
Copy the full SHA 9bc4ea6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4adf75c - Browse repository at this point
Copy the full SHA 4adf75cView commit details -
littlefs: Integrated littlefs's .travis.yml into mbed OS
Also cleaned up the central .travis.yml to better support similar local testing in Travis CI
Configuration menu - View commit details
-
Copy full SHA for ea0fee0 - Browse repository at this point
Copy the full SHA ea0fee0View commit details -
littlefs: Increased test timeout to 4 minutes
Unfortunately there are several issues colluding to force the timeout this high. 1. The tests push littlefs to the limits of how many errors it can handle before failing. As a side effect this causes a massive amount of debug/warn/error logging about the situation. 2. The logging can't be turned off for specific tests. Note: This might change with the introduction of test-configs. 3. Logging is fixed to a baud rate of 9600. Previous testing was carried out with a baud rate of 115200, which is the reason for the original timeout.
Configuration menu - View commit details
-
Copy full SHA for 2cf4715 - Browse repository at this point
Copy the full SHA 2cf4715View commit details
Commits on Nov 28, 2017
-
Configuration menu - View commit details
-
Copy full SHA for b52575b - Browse repository at this point
Copy the full SHA b52575bView commit details -
Added test config for simulated block devices
Not all devices have enough heap to fit a simulated heap block device, however using a simulated heap block device is preferred if available (reduced flash wear, faster testing). Added MBED_TEST_SIM_BLOCKDEVICE for tests that only need a simulated block device (wear_leveling + resilience), and added support for targets that are known to have enough heap.
Configuration menu - View commit details
-
Copy full SHA for 47684d8 - Browse repository at this point
Copy the full SHA 47684d8View commit details -
Separated out logical Travis jobs
Combination of mbed 2 builds (~40 minutes), littlefs testing (~15 minutes), and miscellaneous testing pushed the current CI over Travis's limit of 1 hour per job. However, by using Travis's matrix includes, we can spin up different jobs for the various logical components being tested.
Configuration menu - View commit details
-
Copy full SHA for ff25681 - Browse repository at this point
Copy the full SHA ff25681View commit details
Commits on Nov 29, 2017
-
ExhaustibleBlockDevice.h - Fix typos for consistent spelling. ObservingBlockDevice.h - Fix typos for consistent spelling. ReadOnlyBlockDevice.h - Fix typos for consistent spelling. README.md - Fix typos, mostly for branding. DESIGN.md - Make minor changes for consistent spelling and precise language. SPEC.md - Make minor changes for consistent spelling and precise language. README.md - Make minor changes for consistent spelling and precise language.
Configuration menu - View commit details
-
Copy full SHA for 634fcf0 - Browse repository at this point
Copy the full SHA 634fcf0View commit details
Commits on Nov 30, 2017
-
Configuration menu - View commit details
-
Copy full SHA for c613030 - Browse repository at this point
Copy the full SHA c613030View commit details