Commit Graph

  • 54a03cfe3b Enabled both pruning/non-pruning dbg reprs, -t/--tree and -R/--rbyd Christopher Haster 2024-03-31 02:52:56 -05:00
  • abe68c0844 rbyd-rr: Reworking rbyd range removal to try to preserve rby structure Christopher Haster 2024-03-25 01:04:59 -05:00
  • 9b4e1b4cb7 Replace assert(!err) with assert(err == 0) in tests Christopher Haster 2024-03-23 16:27:19 -05:00
  • 16ca642508 Simplified the diverged state machine in lfsr_rbyd_appendattr Christopher Haster 2024-03-21 13:20:45 -05:00
  • 531c2bcc4c Quieted test.py/bench.py status when stdout is aimed at stdout Christopher Haster 2024-03-20 13:58:22 -05:00
  • 76593711ab Added -f/--fail to test.py/bench.py Christopher Haster 2024-03-20 13:50:04 -05:00
  • 62de865103 Eliminated null tag reachability in dbg scripts Christopher Haster 2024-03-20 13:31:16 -05:00
  • 3eb4ccdde7 Fixed block/becksum related tree rendering in dbglfs.py Christopher Haster 2024-03-20 12:01:18 -05:00
  • 3d61030ccc Mark the on-disk version as experimental Christopher Haster 2024-03-20 01:37:29 -05:00
  • 9cf115685b Don't duplicate config across all mroots, only magic Christopher Haster 2024-03-20 00:38:54 -05:00
  • c71725d627 Added type info to dsize comments Christopher Haster 2024-03-19 15:03:03 -05:00
  • 2564100eaa Tweaked name/sizelimit parsing for consistency, default to 0xff/0x7fffffff Christopher Haster 2024-03-18 02:31:13 -05:00
  • 9366674416 Replaced separate BLOCKSIZE/BLOCKCOUNT attrs with single GEOMETRY attr Christopher Haster 2024-03-18 02:15:46 -05:00
  • 796be705ac Simplified how we check on-disk versions a bit Christopher Haster 2024-03-18 01:08:59 -05:00
  • 11b036cc6c Prevented unnecessary superblock rewrites if old version in superblock chain fix-expanded-magic Christopher Haster 2024-03-19 00:31:49 -05:00
  • 25ee90fdf1 Clarified what is accessible at specific superblock offsets in SPEC.md Christopher Haster 2024-03-19 00:20:32 -05:00
  • a60a986c9c Duplicate the superblock entry during superblock expansion Christopher Haster 2024-03-18 23:36:55 -05:00
  • 130281ac05 Reworked compat flags a bit Christopher Haster 2024-03-16 17:00:30 -05:00
  • 76721638db Renamed lfsr_rbyd_p_red -> lfsr_rbyd_p_recolor Christopher Haster 2024-03-14 02:49:19 -05:00
  • 85e43d51ba Found a balance-preserving solution to tail-recursive range recoloring Christopher Haster 2024-03-14 02:46:59 -05:00
  • 0a89d0c254 Fixed recoloring tail-recursion violations during range removals Christopher Haster 2024-03-13 03:27:00 -05:00
  • 4d90be94f9 Preserve coloring during range removals Christopher Haster 2024-03-12 01:55:24 -05:00
  • 39413e7d78 Cleaned up reworked range removal/diverging trunk algorithm Christopher Haster 2024-03-11 19:38:30 -05:00
  • 9c2c5b2391 Prevented writing useless null tags for unstitched diverged trunks Christopher Haster 2024-03-11 18:05:35 -05:00
  • 03954a1ef9 Fixed diverged leaf coloring issue Christopher Haster 2024-03-11 04:38:02 -05:00
  • dd31f610b3 Fixed null tags getting stuck in the tree during range removals Christopher Haster 2024-03-11 03:43:02 -05:00
  • 0b6cf7e9a7 Attempting a different algorithm for rbyd range removals Christopher Haster 2024-03-10 15:20:08 -05:00
  • d93dce8db2 Deduplicated rbyd append initialization into lfsr_rbyd_prepareappend Christopher Haster 2024-03-09 01:47:05 -06:00
  • 5ce78799af Added some extra low-level rbyd append helpers Christopher Haster 2024-03-09 01:37:08 -06:00
  • e164b3285b Generated v2 prefixes geky-bot 2024-03-08 23:23:45 +00:00
  • 4dd30c1b8f Merge pull request #948 from littlefs-project/fix-sync-ordering v2.9.1 Christopher Haster 2024-03-08 16:49:59 -06:00
  • 5c0d332ecd Merge pull request #939 from Graveflo/master Christopher Haster 2024-03-08 16:49:11 -06:00
  • cf68333a55 Merge pull request #937 from littlefs-project/fix-pending-rm-get-underflow Christopher Haster 2024-03-08 16:48:50 -06:00
  • 3942d643e5 Renamed */other_* -> a_*/b_* Christopher Haster 2024-03-07 01:42:30 -06:00
  • 5c45f07f1b Added LFSR_TAG_DIVERGEDDONE instead of reusing LFSR_TAG_RM in appendattr Christopher Haster 2024-03-07 00:52:07 -06:00
  • 989a7007aa Tweaked diverged red stitching to use lfsr_rbyd_p_red Christopher Haster 2024-03-06 15:36:20 -06:00
  • f62ae0e8fd Reroute range removal pruning through diverged path swaps Christopher Haster 2024-03-06 15:09:40 -06:00
  • 47416c1115 Switched to recoloring + red stitching removals due to diverged coloring bug Christopher Haster 2024-03-05 12:52:08 -06:00
  • bedb65919c Opportunistically stitch together range removals with red alts Christopher Haster 2024-03-03 14:00:15 -06:00
  • 34be5055b4 Fixed mdir drop during compaction breaking fixorphan loop Christopher Haster 2024-03-03 13:25:46 -06:00
  • a6a5f43027 Preserve coloring on range removals Christopher Haster 2024-03-01 00:40:02 -06:00
  • 7873d811a0 Fixed memory leak in emubd's out-of-order write emulation fix-sync-ordering Christopher Haster 2024-02-27 21:39:34 -06:00
  • fc2aa3350c Fixed issue with exhaustive + out-of-order powerloss testing Christopher Haster 2024-02-27 21:14:59 -06:00
  • 6352185949 Fixed sync issue where data writes could appear before metadata writes Christopher Haster 2024-02-27 14:00:10 -06:00
  • f2a6f45eef Added out-of-order write testing to emubd Christopher Haster 2024-02-27 12:58:07 -06:00
  • 907d6b7038 Reverted the improved (5/2)t+2 rbyd compaction algorithm Christopher Haster 2024-02-26 23:23:04 -06:00
  • 21d9535a05 Added size-limit to our runtime dependent attr estimate Christopher Haster 2024-02-26 17:51:11 -06:00
  • 7d232078f2 Limited did generation to 31-bits Christopher Haster 2024-02-26 02:34:18 -06:00
  • 09ebf70bd9 Updated did truncation comment based on the new compaction algorithm Christopher Haster 2024-02-26 02:23:56 -06:00
  • 9fcf8e12d8 Adopted a tighter, block-size dependendent attr-estimate Christopher Haster 2024-02-26 01:57:45 -06:00
  • d8d6052d90 Dropped -m/--mleaf-weight from dbg scripts Christopher Haster 2024-02-26 01:33:42 -06:00
  • 23aab1a238 Increased mleaf-bits to account for better compaction algorithms Christopher Haster 2024-02-26 01:28:15 -06:00
  • d61c7ca407 Improved rbyd compaction algorithm, reduced attr estimate 3t+4 -> (5/2)t+2 Christopher Haster 2024-02-25 22:50:52 -06:00
  • 950285cbd3 Renamed LFSR_RBYD_SHRUB -> LFSR_RBYD_ISSHRUB Christopher Haster 2024-02-25 22:46:54 -06:00
  • 7209ce3bd8 Dropped unused weight tracking in lfsr_rbyd_appendcompactattr Christopher Haster 2024-02-25 21:47:10 -06:00
  • ea88a48de2 Updated outdated comment on lfsr_data_t's encoding Christopher Haster 2024-02-25 12:35:14 -06:00
  • 692810e18e Reverted lfsr_data_t lazily encoded leb128s Christopher Haster 2024-02-25 12:31:32 -06:00
  • 415e148f62 Replaced inlined lfsr_data_t with a lazily encoded leb128 Christopher Haster 2024-02-25 12:08:26 -06:00
  • 5005db2b4e Moved erase into lfs_alloc, mostly Christopher Haster 2024-02-25 11:10:11 -06:00
  • 788a9d0129 Added lfsr_bd_unprog to replace flcksum args Christopher Haster 2024-02-25 02:37:01 -06:00
  • ef433f983c Cleaned up data concatenation when fragment coalescing Christopher Haster 2024-02-24 22:29:27 -06:00
  • d751f5462b Rearranged lfsr_file_carve a bit to avoid attr_tnuoc shenanigans Christopher Haster 2024-02-24 16:09:57 -06:00
  • 4a66816d4f Renamed SUP/SUBMASK -> SUP/SUB Christopher Haster 2024-02-24 14:41:39 -06:00
  • 6c9ce4e8f1 Reverted raw-byte comparisons for rbyd/btree namelookups Christopher Haster 2024-02-24 13:55:32 -06:00
  • 35a4934178 Switched to passing lfsr_data_t by value again Christopher Haster 2024-02-24 00:20:49 -06:00
  • 94f7d2549f Changed rbyd/btree namelookups to only compare raw bytes Christopher Haster 2024-02-23 15:50:21 -06:00
  • 5eed6f40aa Changed LFSR_DATA_* macros to consistently create lvalues Christopher Haster 2024-02-23 14:17:11 -06:00
  • 748bca0b61 Dropped LFSR_ATTR() prefix magic Christopher Haster 2024-02-22 17:46:20 -06:00
  • d09a14f352 Changed DATA macros to implicitly stack allocate via compound literals Christopher Haster 2024-02-22 13:00:31 -06:00
  • fd85393b54 Dropped mode field from lfsr_data_t Christopher Haster 2024-02-21 00:59:43 -06:00
  • 025788a43c Renamed opt-in compile-time side-effects from YES_* -> *GEN Christopher Haster 2024-02-20 23:21:18 -06:00
  • e7341686bb Ended up implementing direct pcache access in bd prog utils Christopher Haster 2024-02-20 18:30:52 -06:00
  • 6ede8afffe Changed lfsr_bd_set to hijack the rcache Christopher Haster 2024-02-20 01:22:16 -06:00
  • 50712a595a Added lfsr_bd_set, mainly for more efficient bd zeroing Christopher Haster 2024-02-20 01:14:44 -06:00
  • 88110c95be Attempted to better reuse lfsr_bd_readnext in lfsr_bd_read Christopher Haster 2024-02-20 00:52:04 -06:00
  • d74574ed86 Replaced hardcoded buffers with direct cache access in bd utils Christopher Haster 2024-02-20 00:42:04 -06:00
  • 543fb976b4 Adopted 0/-1 as none/all hints in bd layer Christopher Haster 2024-02-19 15:24:53 -06:00
  • 769f761a8b Added lfsr_bd_cpy for disk->disk progs Christopher Haster 2024-02-19 03:10:11 -06:00
  • d690ae5162 Changed pcache/rcache interactions to wait to overwrite until flush Christopher Haster 2024-02-19 02:59:37 -06:00
  • b21f4b81fa Cleaned/reworked bd/caching layer Christopher Haster 2024-02-19 01:43:39 -06:00
  • 0b4bdf7684 Changed all test/bench runner build-time features to opt-in Christopher Haster 2024-02-16 03:23:40 -06:00
  • 75ac29e8e6 Renamed the generated prettyasserts's extension to .a.c Christopher Haster 2024-02-15 17:09:17 -06:00
  • 65dd669d83 Allowed overriding prettyasserts.py with an external prettyasserts tool Christopher Haster 2024-02-15 16:26:48 -06:00
  • 5128522fe2 Renamed script flag -Z/--depth -> -z/--depth Christopher Haster 2024-02-14 14:04:45 -06:00
  • 2d2c0f19ff Renamed block-size flag in scripts from -B -> b Christopher Haster 2024-02-14 12:45:30 -06:00
  • 7d95a2ff29 Added ability to disable default patterns in prettyasserts.py Christopher Haster 2024-02-14 02:45:37 -06:00
  • 738dd86339 Extended prettyasserts.py to support unreachable statements Christopher Haster 2024-02-14 01:59:03 -06:00
  • 1422a61d16 Made generated prettyasserts more debuggable Christopher Haster 2024-02-14 01:01:37 -06:00
  • 06a360462a Simplified test/bench suite finding logic in test.py/bench.py Christopher Haster 2024-02-14 00:25:10 -06:00
  • a124ee54e7 Reworked test/bench defines to map to global variables Christopher Haster 2024-02-13 17:21:21 -06:00
  • ddb86af059 Dropped lfs_cmp for manual comparisons Christopher Haster 2024-02-11 00:36:01 -06:00
  • 036047bbba Reverted little-leb128 decoder to just call the big-leb128 decoder Christopher Haster 2024-02-10 21:08:48 -06:00
  • 7759b0b43d Reduce stack allocation in the little-leb128 decoder Christopher Haster 2024-02-10 20:34:22 -06:00
  • 42ec282a03 Limited block_size and in-block types to 28-bits Christopher Haster 2024-02-10 16:10:46 -06:00
  • 6439650a0e Renamed ecksum.size -> ecksum.cksize Christopher Haster 2024-02-09 17:12:40 -06:00
  • a8a738e434 Added some ascii art over the on-disk encodings Christopher Haster 2024-02-09 16:07:06 -06:00
  • af5e3f7d2a Changed rbyd.weight to unsigned Christopher Haster 2024-02-09 14:42:54 -06:00
  • 6f1d110e01 Changed leb128 related functions to operate on uint32_t Christopher Haster 2024-02-09 14:20:56 -06:00
  • 9f9653eb79 Dropped grm-specific gdelta functions Christopher Haster 2024-02-09 00:06:58 -06:00
  • bd55822abc Reworked grm handling to prefer xoring, added lfsr_grm_xorgrm Christopher Haster 2024-02-08 23:55:49 -06:00