-
01ac033d47
Merge pull request #572 from tniessen/add-littlefs-disk-img-viewer
Christopher Haster
2023-04-26 01:56:31 -05:00
-
-
2a18e03cb8
Merge pull request #809 from littlefs-project/brent-cycle-detection
Christopher Haster
2023-04-26 01:55:50 -05:00
-
-
6f074ebe31
Merge pull request #497 from littlefs-project/crc-rework-2
Christopher Haster
2023-04-26 01:15:59 -05:00
-
-
0a7eca0bd5
Merge pull request #752 from littlefs-project/test-and-bench-runners
Christopher Haster
2023-04-26 01:09:01 -05:00
-
-
3e25dfc16c
Added FCRC tags and an explanation of how FCRCs work to SPEC.md
crc-rework-2
Christopher Haster
2023-04-21 14:47:23 -05:00
-
9e28c75482
Bumped minor version to v2.6 and on-disk minor version to lfs2.1
Christopher Haster
2023-04-20 16:42:58 -05:00
-
4c9360020e
Added ability to bump on-disk minor version
Christopher Haster
2023-04-20 16:42:19 -05:00
-
ca0da3d490
Added compatibility testing on pull-request to GitHub test action
Christopher Haster
2023-04-20 03:54:08 -05:00
-
116332d3f7
Added tests for forwards and backwards disk compatibility
Christopher Haster
2023-04-20 02:13:58 -05:00
-
f0cc1db793
Tweaked changeprefix.py to not rename dir component in paths
Christopher Haster
2023-04-19 15:41:43 -05:00
-
bf045dd13c
Tweaked link to littlefs-disk-img-viewer to go to github repo
Christopher Haster
2023-04-19 11:48:06 -05:00
-
b33a5b3f85
Fixed issue where seeking to end-of-directory return LFS_ERR_INVAL
Christopher Haster
2023-04-18 14:56:46 -05:00
-
384a498762
Extend dir seek tests to include seeking to end of directory
Christopher Haster
2023-04-18 14:55:43 -05:00
-
b0a4a44e5b
Added explicit assert for minimum block size of 128 bytes
assert-minimum-block-size
Christopher Haster
2023-04-17 19:58:09 -05:00
-
-
-
aae897ffd0
Added an assert for truthy-preserving bool conversions
assert-bool-cast
Christopher Haster
2023-04-17 19:14:18 -05:00
-
-
-
e57402c8e9
Added ability to revert to inline file in lfs_file_truncate
Christopher Haster
2023-04-17 15:31:03 -05:00
-
6dc18c38c1
Fixed block-boundary truncate issue
Christopher Haster
2023-04-17 13:44:35 -05:00
-
d5dc4872cb
Expanded truncate tests to test more corner cases
Christopher Haster
2023-04-17 12:03:35 -05:00
-
5d68d7eccd
Updated benchmarks after internal API changes
Christopher Haster
2023-04-16 12:56:37 -05:00
-
3a470f9d73
Enabled btree tests on all geometries, fixed some revealed bugs
Christopher Haster
2023-04-16 01:31:08 -05:00
-
da8fa4b133
Made name entries in lfsr_btree_split optional, more consistent attrs
Christopher Haster
2023-04-13 14:24:30 -05:00
-
bdfe66aab2
Cleanup around lfsr_btree_commit
Christopher Haster
2023-04-12 17:31:38 -05:00
-
4662e93c29
Implemented a slightly improved bisect algorithm for btree split
Christopher Haster
2023-04-12 13:19:51 -05:00
-
f878f3f03c
Investigated weights in rbyd's fetch, ended up with just cleanup
Christopher Haster
2023-04-11 16:13:24 -05:00
-
cfaeeaa690
Adopted lfsr_data_t in more places, mainly the low-level lookup functions
Christopher Haster
2023-04-11 01:35:04 -05:00
-
f35061c7eb
Implemented deferred btree inlining via cutoff parameter
Christopher Haster
2023-04-10 14:35:06 -05:00
-
5a5598930e
Some cleanup of the compact route in lfsr_btree_commit
Christopher Haster
2023-04-10 12:08:20 -05:00
-
47e4f719f5
Cleanup, fixed inconsistent names, moved btree attr allocation up
Christopher Haster
2023-04-10 00:30:32 -05:00
-
774ae676e4
Flipped layout of fcrcs to match B-tree branches
Christopher Haster
2023-04-09 02:30:13 -05:00
-
a511696bad
Added ability to bypass rbyd fetch during B-tree lookups
Christopher Haster
2023-04-09 02:21:02 -05:00
-
ed8d8c0c24
Folded rbyd.erased into rbyd.off=block_size, some rbyd cleanup
Christopher Haster
2023-04-07 14:59:22 -05:00
-
7eb0c4763a
Reversed LFSR_ATTR id/tag argument order
Christopher Haster
2023-04-07 13:03:03 -05:00
-
a463d6f106
Changed attr list implementation back to an array
Christopher Haster
2023-04-07 00:37:52 -05:00
-
10473f716e
Some minor cleanup post-lfsr_data_t adoption
Christopher Haster
2023-04-06 15:08:35 -05:00
-
2142b4a09d
Reworked dbgrbyd.py's tree renderer to make more sense
Christopher Haster
2023-04-06 03:14:46 -05:00
-
0ccf283321
Changed in-tree tags to store their weights
Christopher Haster
2023-04-05 14:23:35 -05:00
-
355c7466f1
Added better protection against internal leb128 underflow
Christopher Haster
2023-04-04 12:12:49 -05:00
-
eb93c3b710
Added some rbyd testing over mixed ided/idless tags
Christopher Haster
2023-04-03 13:31:48 -05:00
-
c59124a70a
Changed lfsr_rbyd_append back to using tag bits for diverged/found state
Christopher Haster
2023-04-03 02:25:12 -05:00
-
d917e8c9cc
Dropped "test_rbyd_delete_end"
Christopher Haster
2023-04-03 01:23:43 -05:00
-
13852df071
Switched back to altgt 0 for unreachable tags, made btree tests pass again
Christopher Haster
2023-04-02 03:02:45 -05:00
-
e5ad09b380
Some btree progress, implementing rbyd-tag-weight changes
Christopher Haster
2023-04-02 00:49:00 -05:00
-
9a1675999e
Tweaked rbyd deletes, added MKUNR, simplified upper layers
Christopher Haster
2023-04-01 16:09:07 -05:00
-
85bd28951c
Solved rbyd grow/insert ambiguity by adding a device-only "mk" bit
Christopher Haster
2023-03-30 15:28:28 -05:00
-
5a1c36f210
Attempting to add weight changes to every rbyd append
Christopher Haster
2023-03-30 01:00:55 -05:00
-
e5cd2904ee
Tweaked always-follow alts to follow even for 0 tags
Christopher Haster
2023-03-27 02:17:52 -05:00
-
8f26b68af2
Derived grows/shrinks from rbyd trunk, no longer needing explicit tags
Christopher Haster
2023-03-27 01:45:34 -05:00
-
546fff77fb
Adopted full le16 tags instead of 14-bit leb128 tags
Christopher Haster
2023-03-25 14:36:29 -05:00
-
9ceaca372a
In B-tree commit, moved pending attrs before merge attempts
Christopher Haster
2023-03-21 14:01:33 -05:00
-
a43d7c4249
Implemented a number of minor B-tree optimizations
Christopher Haster
2023-03-21 01:36:15 -05:00
-
f4e2a1a9b4
Tweaked dbgbtree.py to show higher names when -i is not specified
Christopher Haster
2023-03-20 22:35:01 -05:00
-
23956cc25b
Added sparse B-tree name tests, fixed weight-calculation bug during merge
Christopher Haster
2023-03-20 22:00:24 -05:00
-
89d5a5ef80
Working implementation of B-tree name split/lookup with vestigial names
Christopher Haster
2023-03-20 19:23:15 -05:00
-
7a0842295c
Partial implementation of B-tree name split/lookup
Christopher Haster
2023-03-20 01:37:39 -05:00
-
0756c0acf2
Cleanup of code that is no longer going to be used
Christopher Haster
2023-03-18 19:09:12 -05:00
-
27fc481ec2
Generalized btree benchmarks, amortized benchmarks, plot.py/plotmpl.py tweaks
Christopher Haster
2023-03-17 01:58:39 -05:00
-
67826159fd
Added TEST_PERMUTATION, made it easier to reproduce perm/fuzz failures
Christopher Haster
2023-03-15 15:52:50 -05:00
-
9b033987ef
Renamed --gdb-case => --gdb-permutation for correctness
Christopher Haster
2023-03-15 02:29:12 -05:00
-
83eba5268d
Added support for globs in test.py/bench.py, better -b/-B
Christopher Haster
2023-03-15 02:25:35 -05:00
-
59a57cb767
Reworked test_runner/bench_runner to evaluate define permutations lazily
Christopher Haster
2023-03-15 00:04:53 -05:00
-
15e27f92af
Implemented lfsr_btree_split, a shortcut for pop+push+push
Christopher Haster
2023-03-13 14:18:22 -05:00
-
dd5af724fd
Added generalize fuzz testing for B-trees, fixed single-child bug
Christopher Haster
2023-03-13 13:21:32 -05:00
-
c55cc4d010
Fixed memcpy/memmove mistake in btree tests
Christopher Haster
2023-03-13 03:57:50 -05:00
-
8732904ef6
Implemented lfsr_btree_pop and btree merges
Christopher Haster
2023-03-13 03:35:50 -05:00
-
a897b875d3
Implemented lfsr_btree_update and added more tests
Christopher Haster
2023-03-11 16:39:41 -06:00
-
eb6b5332a0
Fixed a nasty bug in rbyd where shrinking the last id can leave bad alts
Christopher Haster
2023-03-11 02:06:02 -06:00
-
89ab174f33
Reworked dbgrbyd.py's --lifetimes so it actually works
Christopher Haster
2023-03-10 14:10:02 -06:00
-
ce599be70d
Added scripts/dbgbtree.py for debugging B-trees, tweaked dbgrbyd.py
Christopher Haster
2023-03-09 15:52:46 -06:00
-
ce18bec66d
Added sparse btree tests, fixed found bugs (grow/shrink bisect)
Christopher Haster
2023-03-08 02:52:34 -06:00
-
0a3c6b39c1
Implement generalized btree push, note the boundary conditions when id=weight
Christopher Haster
2023-03-07 13:04:57 -06:00
-
d6a2666614
I'm dumb and btree split w/o predicted actually doesn't need two pcaches
Christopher Haster
2023-03-06 13:34:03 -06:00
-
0b619df6ca
Partial rewrite of btree split without prediction, needs two pcaches
Christopher Haster
2023-03-06 11:58:20 -06:00
-
2b8594528e
Added some simple B-tree benchmarks
Christopher Haster
2023-03-08 10:57:27 -06:00
-
386ef69570
Updated rbyd benchmarks based on grow/shrink changes
Christopher Haster
2023-03-02 22:17:47 -06:00
-
88e3db98a9
Rough implementation of btree append
Christopher Haster
2023-03-02 21:46:23 -06:00
-
361dfb0625
Added more rbyd fuzz testing
Christopher Haster
2023-03-01 14:20:15 -06:00
-
7f16c6e473
Implementation of lfsr_rbyd_pendinglookup in one pass
Christopher Haster
2023-03-01 10:01:42 -06:00
-
c0ee405cf2
Attempted impl of lfsr_rbyd_pendinglookup with two passes
Christopher Haster
2023-02-28 12:54:11 -06:00
-
6f4704474b
Changed GROW/SHRINK to always be explicit, dropped LFSR_TAG_RM
Christopher Haster
2023-02-25 22:12:08 -06:00
-
1709aec95b
Rough draft of general btree implementation, needs work
Christopher Haster
2023-02-22 00:43:51 -06:00
-
a20625be7c
Allowed empty suites in test.py/bench.py
Christopher Haster
2023-02-20 13:43:30 -06:00
-
b887365fcb
Some more rbyd cleanup/tweaks
Christopher Haster
2023-02-16 14:38:23 -06:00
-
98532f3287
Adding sparse ids to rbyd trees
Christopher Haster
2023-02-15 14:08:18 -06:00
-
24795e6b74
Add missing iterations in tests
Sosthène Guédon
2023-03-13 11:39:06 +01:00
-
-
-
8c9f5e9afe
Brought bench_rbyd up to date with id/tag changes
Christopher Haster
2023-02-11 14:46:22 -06:00
-
27248ad3b6
Some script tweaks around dbgrbyd.py
Christopher Haster
2023-02-10 19:33:58 -06:00
-
f7dbaf7707
Changed rbyd testing to ignore block_size, now testing with all geometries
Christopher Haster
2023-02-10 18:51:44 -06:00
-
34168d7874
A number of tweaks to rbyd tests
Christopher Haster
2023-02-10 01:14:41 -06:00
-
a812cfa70b
Moved conditional id/weight nudging into readtag/progtag
Christopher Haster
2023-02-09 00:25:19 -06:00
-
c7c0e013db
Fiddled around with how diverged state is tracked
Christopher Haster
2023-02-09 00:13:25 -06:00
-
9b414e448c
Upped attribute size to the full 32-bits
Christopher Haster
2023-02-02 12:31:44 -06:00
-
86bafaee27
Dropped lfsr_sid_t for lfs_ssize_t
Christopher Haster
2023-02-02 11:56:16 -06:00
-
8628178631
Attempted to simplify the core rbyd_append algorithm as much as possible
Christopher Haster
2023-02-01 16:08:10 -06:00
-
739a6e6d98
Rearranged lfsr_rbyd_append to have a single sprial loop with black recoloring during deletes
Christopher Haster
2023-01-30 20:30:16 -06:00
-
d3d340c426
Did some rearranging of lfsr_rbyd_append to perform deletes in two-stages
Christopher Haster
2023-01-30 19:34:14 -06:00
-
745b89d02b
Fixed issue where looking up tag 0 fails after a delete id0
Christopher Haster
2023-01-30 13:36:38 -06:00
-
11e91e6612
Cleaned up dbgrbyd.py, implemented tree rendering for the new 3-leb encoding
Christopher Haster
2023-01-30 02:56:11 -06:00
-
bab79bb1e7
Added fuzzing rbyd tests, mostly to find remove/delete balancing issues
Christopher Haster
2023-01-30 01:00:17 -06:00
-
7af2e722a8
Some minor rbyd cleanup
Christopher Haster
2023-01-29 23:19:07 -06:00
-
2a4b6fcad9
Rbyd tests are now passing again, however range removal needs a review
Christopher Haster
2023-01-27 16:10:07 -06:00