Commit Graph

  • 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