Skip to content

Bring in v2.2 #16

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

Merged
merged 8 commits into from
Apr 3, 2020
Merged

Bring in v2.2 #16

merged 8 commits into from
Apr 3, 2020

Conversation

geky
Copy link
Contributor

@geky geky commented Apr 1, 2020

This brings littlefs-fuse up to date with v2.2 in littlefs.

More info on v2.2 can be found here:
https://github.com/ARMmbed/littlefs/releases/tag/v2.2.0

This is based on the work by @pilotak here #14, and also brings in CRC fixes needed for the newest version of Mbed OS.

geky and others added 7 commits April 1, 2020 11:00
git-subtree-dir: littlefs
git-subtree-split: c17d536dc55ae53c476787335b934ea0be999a69
3e7b9da Generated v2 prefixes
a049f13 Merge pull request #372 from ARMmbed/test-revamp
7257681 Merge branch 'master' into test-revamp
2da340a Merge pull request #373 from henrygab/patch-1
02881e5 Merge pull request #360 from jpdoyle/master
38024d5 Merge pull request #356 from zqb-all/patch-1
4a9bac4 Merge pull request #322 from hemmick/master
6121495 Merge pull request #266 from FreddieChopin/revert-bypass-cache
6372f51 Allow debug prints without __VA_ARGS__
6622f3d Bumped minor version to v2.2
5137e4b Last minute tweaks to debug scripts
ff84902 Moved out block device tracing into separate define
01e42ab Merge pull request #401 from thrasher8390/bugfix/thrasher8390/issue-394-lookahead-buffer-corruption
f9dbec3 Added test case catching issues with errors during a lookahead scan
f17d3d7 Minor cleanup
5e5b5d8 (chore) updates from PR, we decided not to move forward with changing v1 code since it can be risky. Let's improve the future! Also renamed and moved around a the lookahead free / reset function
d498b9f (bugfix) adding line function to clear out all the global 'free' information so that we can reset it after a failed traversal
4677421 Added "evil" tests and detecion/recovery from bad pointers and infinite loops
cb26157 Change assert to runtime check.
a7dfae4 Minor tweaks to debugging scripts, fixed explode_asserts.py off-by-1
50fe8ae Renamed test_format -> test_superblocks, tweaked superblock tests
0990296 Limited byte-level tests to native testing due to time
d04b077 Fixed minor things to get CI passing again
c7987a3 Restructured .travis.yml to span more jobs
dcae185 Fixed typo in LFS_MKTAG_IF_ELSE
f4b17b3 Added test.py support for tmpfs-backed disks
9f546f1 Updated .travis.yml and added additional geometry constraints
b69cf89 Fixed CRC check when prog_size causes multiple CRCs per commit
02c84ac Cleaned up dependent fixes on branch
6530cb3 Fixed lfs_fs_size doubling metadata-pairs
fe957de Fixed broken wear-leveling when block_cycles = 2n-1
6a55084 Modified readmdir/readtree to make reading non-truncated data easier
f9c2fd9 Removed file outlining on ENOSPC in lfs_file_sync
44d7112 Fixed tests/*.toml.* in .gitignore
77e3078 Added/fixed tests for noop writes (where bd error can't be trusted)
517d341 Fixed more bugs, mostly related to ENOSPC on different geometries
4fb1883 Update SPEC.md
c8e9a64 Indicate C99 standard as target for LittleFS code
aab6aa0 Cleaned up test script and directory naming
52ef0c1 Fixed a crazy consistency issue in test.py
b9d0695 Rewrote explode_asserts.py to be more efficient
a5d614f Added tests for power-cycled-relocations and fixed the bugs that fell out
f4b6a6b Fixed issues with neighbor updates during moves
9453ebd Added/improved disk-reading debug scripts
fb65057 Restructured block devices again for better test exploitation
ecc2857 Migrated bad-block tests
5181ce6 Migrated the first of the tests with internal knowledge
b06ce54 Migrated the bulk of the feature-specific tests
1d2688a Migrated test_files, test_dirs, test_format suites to new framework
eeaf536 Replaced emubd with rambd and filebd
626006a Fix incorrect comment on `lfs_npw2`
53d2b02 Added reentrant and gdb testing mechanisms to test framework
ed8341e Reworked permutation generation in test framework and cleanup
f42e007 Created initial implementation of revamped test.py
1f204e6 Generated v2 prefixes
ce2c01f Fixed lfs_dir_fetchmatch not understanding overwritten tags
0197b18 Fixed issue with superblock breaking lfs_dir_seek
1f11e6b Merge pull request #338 from ARMmbed/fix-readme-desc
9a7a3f6 Merge pull request #337 from ARMmbed/fix-null-fetchmatch
8188019 Merge pull request #334 from mon/bugfix/inttypes
d6dc728 Fixed some issues in lfs_migrate
aeff2a2 Stop wear-leveling during migration
aae22c8 Fixed issue with directories falling out of date after block relocation
60e67ae Fixed implicit change-of-sign warning in lfs_dir_fetch
64dedee prepare upstream bugfix of lfs
5925db4 Fix some LFS_TRACE format specifiers
ab56dc5 README: fix incorrect description
893325a Generated v2 prefixes
6b65737 Merge pull request #308 from roykuper13/readme-example-update-block-cycles
4ebe603 Merge pull request #294 from ARMmbed/fix-max-null-tests
7ae8d77 Merge pull request #299 from sipke/sipke/fix-types-for-16bit-machines-v2
4d068a1 Update README example code in accordance to the block_cycles change
ba088aa lfs_dir_*: Cast error return codes to int.
955b296 lfs_file_rewind: Cast error return codes to int.
241dbc6 lfs_stat: Cast error return codes to int.
8cca58f lfs_file_truncate: ensure lfs_file_seek return code is lsf_soff_t and cast error returns
97f86af lfs_remove: Cast tag/error return codes to int.
d40302c lfs_rename: Cast error return codes to int.
0b5a78e Adjust lfs_dir_find return code to ensure 32 bit value.
27b6cc8 Fixed off-by-one null terminator in tests
c39b1de Generated v2 prefixes
fd204ac Merge pull request #278 from roykuper13/validate-lfs-cfg-sizes
bd99402 Merge pull request #281 from patrick--/fix-lfs-embud-file-resource-leak
bce442a Merge pull request #282 from runderwo/master
f26e970 Merge pull request #286 from sipke/sipke/fix-warnings-shift-count
965d29b build: Fix warnings about shift count width difference for 16 bit compiler
f7fd7d9 Corrections for typos and grammar
d5aba27 Fix for issue #260
0c77123 lfs: Validate lfs-cfg sizes before performing arithmetic logics with them
5a12c44 Revert "Don't bypass cache in `lfs_cache_prog()` and `lfs_cache_read()`"
f3608e8 Generated v2 prefixes
494dd66 Merge pull request #263 from rojer/wundef
fce2569 Merge pull request #257 from pabigot/pr/20190803a
9d1f121 Merge pull request #253 from pabigot/pr/20190730a
151104c Changed CI to create release note for patches
303ffb2 Fix build with -Wundef
5bf71fa lfs: do not reposition seek pointer on truncate
55fb141 lfs: initialize file offs field
dc031ce lfs: use meaningful names for magic block identifiers
f85ff1d lfs: correct alignment restriction on lookahead buffer
c08e977 Generated v2 prefixes
db05468 Bump version to v2.1
7872918 Fixed issue where lfs_migrate would relocate root and corrupt superblock
e249854 Removed dependency on uninitialized value in lfs_file_t struct
501b024 Merge pull request #232 from ARMmbed/debug-improvements
e1f3b90 Merge remote-tracking branch 'origin/master' into debug-improvements
74fe46d Merge pull request #233 from ARMmbed/discourage-no-wear-leveling
582b596 Merge pull request #242 from ARMmbed/fix-2048-erase-size
0d4c0b1 Fixed issue where inline files were not cleaned up
4850e01 Changed rdonly/wronly mistakes to assert
4ec4425 Fixed overlapping memcpy in emubd
31e28fd Merge pull request #237 from Ar2rL/reverse_finalize_close
3806d88 Fixed seek-related typos in lfs.h
de59726 Fixed license header in lfs.c
0d8ffd6 Merge pull request #239 from pabigot/pr/20190723a
c0af471 Merge pull request #227 from haneefmubarak/patch-1
e8c023a Changed FUSE branch to v2 (previously v2-alpha)
38a2a8d Minor improvement to documentation over block_cycles
51fabc6 Switched to using hex for blocks and ids in debug output
1983837 Fixed issue where sed buffering (QUIET=1) caused Travis timeout
312326c Added a better solution for large prog sizes
ef1c926 Increased testing to include geometries that can't be fully tested
72e3bb4 Refactored a handful of things in tests
649640c Fixed workaround for erase sizes >1024 B
eb013e6 lfs: correct documentation on lookahead-related values
7e1bad3 Set LFS_F_OPENED flag at places required by lfs internal logic.
72a3758 Use LFS_F_OPENED flag to protect against use of not opened or closed file.
df2e676 Add necessary flag to mark file as being opened.
53a6e04 Changed block_cycles disable from 0 to -1
1aaf1cb Minor improvements to testing framework
52a90b8 Added asserts on positive return values from block device functions
e279c8f Tweaked debug output
6a1ee91 Added trace statements through LFS_YES_TRACE
2e92f7a actually removed <dirent.h>
2588948 removed <dirent.h> preventing compile on some archs
bc7be77 Generated v2 prefixes
abd90cb Fixed 32-bit/64-bit Ubuntu multilib issue in Travis
b73ac59 Fixed issues with reading and caching inline files
614f7b1 Fixed accidental truncate after seek on inline files
a9a61a3 Added redundant compaction to lfs_format/lfs_migrate
36973d8 Fixed missing cache flush in lfs_migrate
f06dc57 Merge pull request #201 from nickray/python2-markings
3fb242f Mark all Python 2 scripts as Python 2
96c8b6d Generated v2 prefixes
ef77195 Fixed limit of inline files based on LFS_ATTR_MAX
12e464e Fixed issue with writes following a truncate
9899c7f Fixed read cache amount based on hint and offset
bc7bed7 Merge pull request #181 from rojer/lfs1_crc
cf9afdd Merge pull request #179 from rojer/wundef
2533a0f Make lfs1_crc static so it doesn't conflict with prefixed LFS1 code
2a7f0ed Fix compilation with -Wundef
895767c Generated v2 prefixes
f35fb8c Fixed migration test condition for prefix branches
0a1f706 Merge pull request #160 from FreddieChopin/no-cache-bypass
87d3abb Generated v2 prefixes
19f4eae Generated v2 prefixes
73ea008 Merge pull request #151 from Krakonos/master
c849748 Merge pull request #150 from ajaybhargav/truncate-fix
fdd239f Don't bypass cache in `lfs_cache_prog()` and `lfs_cache_read()`
25a843a Fixed .travis.yml to use explicit branch names for migration testing
905727b Fix: length more than LFS_FILE_MAX should return error
780ef2f Fixed buffer overflow due to mistaking prog_size for cache_size
8d4fd46 Generated v2 prefixes
0907ba7 Merge pull request #85 from ARMmbed/v2-alpha
48bd2bf Artificially limited number of file ids per metadata block
651e14e Cleaned up a couple of warnings
1ff6432 Added clarification on buffer alignment.
c2c2ce6 Fixed issue with handling block device errors in lfs_file_sync
0b76635 Added better handling of large program sizes (> 1024)
a32be1d Merge remote-tracking branch 'origin/master' into v2-alpha
7e110b4 Added automatic version prefixing to releases
7f7b733 Added scripts/prefix.py for automatically prefixing version numbers
9568f8e Added v1->v2 migration into CI
bdff4bc Updated DESIGN.md to reflect v2 changes
26d2560 Fixed documentation for return lfs_dir_read return value.
4ad09d6 Added migration from littlefs v1
7d8f8ce Enabled -Wextra
a064479 Fixed several small issues
512930c Updated SPEC.md to reflect v2 changes
10dfc36 Fixed issue with long names causing unbounded recursion
95c1a63 Fixed corner case in block_cycles eviction logic
173c212 Added scripts/prefix.py for automatically prefixing version numbers
d3a2cf4 Merge pull request #135 from johnlunney/patch-1
22b0456 Add missing word (and reflow text)
8cca1b6 Fixed several small issues found during wider testing
5fb8fa9 Fixed issue with global state updates being lost during relocates
916b308 Fixed excessive waste from overly large inline files
e1f9d2b Added support for RAM-independent reading of inline files
51b2c7e Changed custom attribute descriptors to used arrays
66d7515 Modified global state format to work with new tag format
b989b4a Cleaned up tag encoding, now with clear chunk field
a548ce6 Switched to traversal-based compact logic
dc507a7 Changed required alignment of lookahead_size to 64 bits
5b26c68 Tweaked tag endianness to catch power-loss after <1 word is written
4a1b8ae Fixed issues found by more aggressive rename tests
c8a39c4 Merge remote-tracking branch 'origin/master' into v2-rebase-part2
ec4d8b6 Changed release script to generate drafts
c7894a6 Added a handful of links to related projects
1950758 Added 2GiB file size limit and EFBIG reporting
97d8d5e Fixed issue where a rename causes a split and pushes dir out of sync
795dd8c Fixed mkdir when inserting into a non-end block
97a7191 Fixed issue with creating files named "littlefs"
aeca766 Switched to strongly ordered directories
7af8b81 Changed lookahead configuration unit to bytes instead of bits
ad96fca Changed attr_max to be specific to custom attributes
f010d2a Fixed issue with reads ignoring the pcache
d7e4aba Edited tag structure to balance size vs id count
cafe6ab Fixed issue with splitting metadata-pairs in full filesystem
29b8810 Revisited xored-globals and related logic
cf87ba5 Combined superblock scan and fetch of xored-globals during mount
7bacf9b Removed xored-globals from the mdir struct
5eeeb9d Revisited some generic concepts, callbacks, and some reorganization
617dd87 Added deletion to custom attributes
c67a41a Added support for deleting attributes
6046d85 Added support for entry insertion
6db5202 Modified valid bit to provide an early check on all tags
a43f9b3 Modified lfs_dir_compact to avoid redundant erases during split
478dcdd Revisited caching rules to optimize bus transactions
4db96d4 Changed unwritable superblock to ENOSPC for consistency
a2532a3 Fixed inline files when inline_max == cache_size
d5e8005 Collapsed recursive deorphans into a single pass
21217d7 Dropped lfs_fs_getattr for the more implicit lfs_getattr("/")
38011f4 Fixed minor memory leak
126ef8b Added allocation randomization for dynamic wear-leveling
e4a0d58 Added building blocks for dynamic wear-leveling
20b669a Fixed issue with big-endian CTZ lists intertwined in commit logic
10f45ac Changed lfs_crc to match more common API
3b3981e Fixed testing issues introduced by expanding superblocks
d8f930e Modified CTZ struct type to make space for erased files in the future
7c70068 Added root entry and expanding superblocks
c3e36bd Standardized naming for internal functions
6d0a6fc Merge remote-tracking branch 'origin/master' into v2-alpha
3186e89 Changed littlefs-fuse target for testing purposes
dbcbe4e Changed name of upper-limits from blah_size to blah_max
213530c Changed LFS_ERR_CORRUPT to match EILSEQ instead of EBADE
a88230a Updated custom attribute documentation and tweaked nonexistant attributes
f369f80 Added tests for global state stealing
1941bbd Cleaned up config options
3cfa086 Introduced cache_size as alternative to hardware read/write sizes
97f35c3 Simplified the internal xored-globals implementation
35f68d2 Squished in-flight files/dirs into single list
bd1e0c4 Cleaned up several TODOs
01d837e Removed redundant lfs_scan in lfs_init
112fefc Added back big-endian support again on the new metadata structures
64df0a5 Added orphan bit to xored-globals
1a58ba7 Fixed ENOSPC issues with zero-granularity blocks
105907b Cleaned up config usage in file logic
df1b607 Removed the implicit lfs_t parameter to lfs_traverse
2257060 Fixed test bugs around handling corruption
3e246da Fixed the orphan test to handle logging metadata-pairs
15d1560 Added support for custom attributes leveraging the new metadata logging
3914cdf Pulled in fixes for additional path corner cases
392b2ac Refactored the updates of in-flight files/dirs
d9a24d0 Fixed move handling when caught in a relocate
5d24e65 Cleaned up commit logic and function organization
d3f3711 Cleaned up attributes and related logic
5fc53bd Changed internal functions to return tags over pointers
2b35c36 Renamed tag functions and macros
7c88bc9 Restructured get/traverse functions
e3b8678 Modified results from find-like functions to use tags
67d9f88 Combined get functions into one
7ad9700 Integrated findscan into fetch as a built in side effect
fe31f79 Consolidated find/parent scanning functions
fd121dc Dropped "has id" bit encoding in favor of invalid id
b7bd34f Restructured types to use a more flexible bit encoding
c1103ef Changed type info to be retrieved from name tag instead of struct tag
d7b0652 Removed old move logic, now passing move tests
2ff32d2 Fixed bug where globals were poisoning move commits
b46fcac Fixed issues with finding wrong ids after bad commits
cebf7aa Switched back to simple deorphan-step on directory remove
3ffcedb Restructured tags to better support xored-globals
e39f7e9 Introduced xored-globals logic to fix fundamental problem with moves
116c1e7 Adopted EISDIR as internal error for root path as argument
f458da4 Added the internal meta-directory structure
eaa9220 Renamed lfs_entry_t -> lfs_mattr_t
9278b17 Trimmed old names and functions from the code base
85a9638 Fixed issues discovered around testing moves
483d41c Passing all of the basic functionality tests
11a3c8d Continued progress with reintroducing testing on the new metadata logging
0bdaeb7 More testing progress, combined dir/commit traversal
0405ceb Cleaned up enough things to pass basic file testing
a3c67d9 Reorganized the internal operations to make more sense
0695862 Completed transition of files with journalling metadata
fe553e8 More progress integrating journaling
87f3e01 Progressed integration of journaling metadata pairs
8070abe Added rudimentary framework for journaling metadata pairs
61f454b Added tests for resizable entries and custom attributes
ea4ded4 Fixed big-endian support again
2a8277b Added test coverage for filesystems with no inline files
746b909 Added lfs_fs_size for finding a count of used blocks
93244a3 Added file-level and fs-level custom attribute APIs
636c0ed Modified commit regions to work better with custom attributes
6c754c8 Added support for atomically committing custom attributes
6ffc8d3 Added simple custom attributes
65ea6b3 Bumped versions, cleaned up some TODOs and missing comments
6774276 Expanded inline files up to a limit of 1023 bytes
6362afa Added disk-backed limits on the name/attrs/inline sizes
9555458 Added internal lfs_dir_set, an umbrella to dir append/update/remove operations
ad74825 Added internal lfs_dir_get to consolidate logic for reading dir entries
d0e0453 Changed how we write out superblock to use append
701e4fa Fixed a handful of bugs as result of testing
d8cadec Better implementation of inline files, now with overflowing
836e238 Shoehorned in hacky implementation of inline files
fb23044 Fixed big-endian support for entry structures
9273ac7 Added size field to entry structure
03b262b Separated out version of dir remove/append for non-entries
362b0bb Minor improvement to from-memory commits
e4a0cd9 Take advantage of empty space early in dir search
f30ab67 Traded enum-based DSL for full callback-based DSL
ca3d6a5 Made implicity tag updates explicit
692f0c5 Naive implementation of resizable entries
e3daee2 Changed dir append to mirror commit DSL
73d29f0 Adopted a tiny LISP-like DSL for some extra flexibility
4c35c86 Added different sources for commits, now with disk->disk moves
49698e4 Separated type/struct fields in dir entries
0bb1f7a Modified release script to create notes only on minor releases
447d89c Merge pull request #109 from OTAkeys/pr/fix-sign-compare
28d2d96 Fix -Wsign-compare error
cb62bf2 Fixed release script issue with fetching recent tags
646b1b5 Added -Wjump-misses-init and fixed uninitialized warnings
1b7a155 Merge pull request #106 from conkerkh/master
e5a6938 Fixed possible infinite loop in deorphan step
6ad544f If stats file doesn't exist lfs_emubd_create will fail.
3419284 Fixed issue with corruption due to different cache sizes
510cd13 Bumped minor version to v1.6
f5e0539 Fixed issue with release script non-standard version tags
0664480 Moved SPDX and license info into README
d66723c Merge pull request #81 from ARMmbed/simple-versioning
0234c77 Simplified release process based on feedback
84adead Merge pull request #80 from FreddieChopin/fix-memory-leaks
0422c55 Fix memory leaks in lfs_mount and lfs_format
11ad3a2 Merge pull request #76 from ARMmbed/fix-corrupt-read
16318d0 Merge pull request #58 from dpgeorge/file-open-no-malloc
961fab7 Added file config structure and lfs_file_opencfg
041e90a Added handling for corrupt as initial state of blocks
f94d233 Merge pull request #74 from FreddieChopin/cxx-guards
577d777 Add C++ guards to public headers
c72d252 Merge pull request #73 from FreddieChopin/fix-format-specifiers
7e67f93 Use PRIu32 and PRIx32 format specifiers to fix warnings
5a17fa4 Fixed script issue with bash expansion inside makefile parameter
eed1eec Fixed information leaks through reused caches
4a86370 Added quality of life improvements for main.c/test.c issues
ba4f171 Merge pull request #57 from dpgeorge/fix-warnings
51346b8 Fixed shadowed variable warnings
93a2e0b Merge pull request #62 from ARMmbed/license-bsd-3
6beff50 Changed license to BSD-3-Clause
c5e2b33 Added error when opening multiple files with a statically allocated buffer
015b86b Fixed issue with trailing dots in file paths
9637b96 Fixed lookahead overflow and removed unbounded lookahead pointers
89a7630 Fixed issue with lookahead trusting old lookahead blocks
43eac30 Renamed test_parallel tests to test_interespersed
dbc3cb1 Fixed Travis rate-limit issue with Github requests
93ece2e Removed outdated note about moves and powerloss
d9c076d Removed the uninitialized read for invalid superblocks
58f3bb1 Merge pull request #37 from jrast/patch-1
f72f6d6 Removed out of date note about endianness
5c4ee21 Added a note about the callback functions
1552246 Fixed Travis issue with deploy stage in PRs
9ee112a Fixed issue updating dir struct when extended dir chain
d9c3637 Fixed handling of root as target for create operations
1476181 Added LFS_CONFIG for user provided configuration of the utils
b2124a5 Fixed multiple deploy steps in Travis
949015a Merge pull request #28 from geky/configurables
67daf9e Added cross-compile targets for testing
a3fd2d4 Added more configurable utils
a0a55fb Added conversion to/from little-endian on disk
4f08424 Added software implementations of bitwise instructions
59ce49f Merge pull request #26 from Sim4n6/master
2f8ae34 Added a git ignore file with .o .d blocks dir and lfs bin
e611cf5 Fix incorrect lookahead population before ack
a25743a Fixed some minor error code differences
6716b55 Fixed error check when truncating files to larger size
809ffde Merge pull request #24 from aldot/silence-shadow-warnings-1
dc513b1 Silenced more of aldot's warnings
aa50e03 Commentary typo fix
6d55755 tests: Silence warnings in template
029361e Silence shadow warnings
fd04ed4 Added autogenerated release notes from commits
3101bc9 Do not print command invocation if QUIET
d82e34c Merge pull request #21 from aldot/doc-tweaks
436707c doc: Editorial tweaks
3457252 doc: Spelling fixes
6d8e0e2 Moved -Werror flag to CI only
88f678f Fixed self-assign warning in tests
3ef4847 Added remove step in tests to force rebuild
f694b14 Merge pull request #16 from geky/versioning
5a38d00 Added deploy step in Travis to push new version as tags
035552a Add version info for software library and on-disk structures
997c2e5 Fixed incorrect reliance on errno in emubd
d88f0ac Added lfs_file_truncate
2ad435e Added files test to littlefs-fuse tests in Travis
1fb6a19 Reduced ctz traverse runtime by 2x
db88727 Added error code LFS_ERR_NOTEMPTY
c2fab8f Added asserts on geometry and updated config documentation
472ccc4 Fixed file truncation without writes
aea3d3d Fixed positive seek bounds checking
be22d34 Updated links to Mbed OS
425aa3c Fixed issue with immediate exhaustion and small unaligned storage
5ee20e8 Fixed pipefail issue that was preventing CI from reporting errors
bf78b09 Added directory list for synchronizing in flight directories
e169d06 Removed vestigial function declaration
996cd8a Revisited documentation
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
3f31c8c Fixed corner case with immediate exhaustion and lookahead==block_count
f4aeb83 Fixed issue with aggressively rounding down lookahead configuration
db51a39 Removed stray newline in LFS_ERROR for version
2ab150c Removed toolchain specific warnings
0825d34 Adopted alternative implementation for lfs_ctz_index
46e22b2 Adopted lfs_ctz_index implementation using popcount
4fdca15 Slight name change with ctz skip-list functions
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
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
c2283a2 Extended entry tag to support attributes
8795f0e Added build size output to CI
47db7a7 Added sanity check for compiling example
476915f Removed a few "what"s from the documentation
663e953 Adopted the Apache 2.0 license
51c8b02 Updated .travis.yml to test multiple cache sizes
8a9b9ba Modified entry head to include name length
931442a Adopted redundant cache read in lfs_file_relocate
0e1022a Fixed missing erase during file relocation
a1138a4 Fixed dirty rcache during directory commit
1166416 Fixed relocation bug when a file is closed with lingering caches
fe28ea0 Added internal check of data written to disk
1eeb2a6 Shrinked on-disk directory program size
0d66f9f Cleaned up design documentation
d2bf2bb Added documentation over the underlying design
69294ac Added better documentation
fd1da60 Added support for handling corrupted blocks
b35d761 Removed words variable from lfs struct
63b52c9 Added proper handling for removing open files
8621b61 Adopted 0xffffffff as null pointer
4808e9a Added caching with managed caches at the file level
6869b14 Fixed memory leak for lookahead buffer
a30142e Fixed allocation bugs near the end of storage
210b487 Added file list for tracking in flight allocations
b55719b Adopted more conventional buffer parameter ordering
0406442 Fixed non-standard behaviour of rdwr streams
287b548 Standardized error values
5790ec2 Structured some of the bulk of the codebase
ba8afb9 Added support for full seek operations
a1d8a76 Added correct handling of file syncing around overwrites
a4e9132 Removed a layer of indirection for index-list lookup
aa87265 Cleaned up block allocator
7050922 Added optional block-level caching
789286a Simplified config
3b9d663 Restructured directory code
bd817ab Added support for renaming dirs/files
3b1bcbe Removed .. and . entries
1f13006 Added dir navigation without needing parent entries
c25c893 Moved to brute-force deorphan without parent pointers
96a4258 Added the lfs_stat function
a3734ee Added proper handling of orphans
8a67452 Added full dir list and rudimentary block allocator
ca01b72 Added path iteration and chained directories
390ca33 Added travis config
8a95fdf Added file read/write tests and some framework updates
a711675 Added dir tests, test fixes, config
afa4ad8 Added a rudimentary test framework
84a5764 Restructured the major interfaces of the filesystem
f566846 Revised free-list structure to adopt a lazy scanning allocator of sorts
ed674e8 Added support for the basic file operation
53674cb Added limited support for directories
106b06a Added better handling for metadata pairs
1d36fc6 Added initial superblock definition
c28a280 Adopted ctz skip-list structure earlier than expected
160299d Initial commit of progress, minimal formatting niave free list
02156cb Initial commit of block device interface and emulated block device
b113bba Created little config parser
REVERT: c17d536 littlefs: Renamed all prefixes to include major version
REVERT: 5b51fae littlefs: Brought integration layer up to v2.0
REVERT: 1fdfa10 Merge commit 'bba45b39ce665aff33ed92170034258e4e05c3c1' into mbed-littlefs
REVERT: 3b72aea Split out littlefs mbed-os implementation from 'ca7b5e8eed574a7295280d9276de3f9bb7cb7f05'

git-subtree-dir: littlefs
git-subtree-split: 3e7b9da578873f4ff967d848e1106694bf9d6483
- Removed LFS_INFO, this has been replaced by LFS_TRACE in the core repo
- Fixed a merge issue that dropped mbed-specific checks in lfs2_util.h
@geky geky mentioned this pull request Apr 1, 2020
@geky geky merged commit 70aa179 into master Apr 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants