Commit Graph

  • 56fbf4155b Reenabling more tests, tracking down another difficult bug Christopher Haster 2023-01-27 10:05:20 -06:00
  • 2f3c0129d6 An ugly lfsr_rbyd_append implementation, but a working one Christopher Haster 2023-01-26 12:59:55 -06:00
  • 1c64ccbde7 Steady state before attempting a different rewrite of rbyd pruning Christopher Haster 2023-01-26 12:17:55 -06:00
  • 588a103db7 Working through 3-leb range deletes, proving to be problematic Christopher Haster 2023-01-26 10:35:13 -06:00
  • 5e0418029d Added mixed attr+id testing, tweaks to 3-leb tag utility functions Christopher Haster 2023-01-24 15:42:00 -06:00
  • 08f5d9ddf4 Middle of a rewrite for 3-leb encoding, but rbyd appends and creates both work Christopher Haster 2023-01-24 01:38:26 -06:00
  • cdc3a486d6 Initial exploration of B-trees, but ran into issues composing with rbyds Christopher Haster 2023-01-22 00:18:42 -06:00
  • 22f00649a6 Reduced caching during rbyd lookup based on preliminary benchmarking Christopher Haster 2023-01-20 13:09:12 -06:00
  • 0eccd6515f In plot.py/plotmpl.py, allowed escaped commas in certain comma-separated fields Christopher Haster 2023-01-20 02:45:47 -06:00
  • 9a8e1d93c6 Added some rbyd benchmarks, fixed/tweaked some related scripts Christopher Haster 2023-01-20 01:54:49 -06:00
  • 27e4fbd3ad Re-upped on-disk leb128 limit for tags to 5-bytes Christopher Haster 2023-01-18 15:37:08 -06:00
  • d08497c299 Rearranged type encoding for crcs so they mostly fit in a single byte Christopher Haster 2023-01-18 15:17:01 -06:00
  • 55b072e761 Opened up rbyd testing for all geometries, and fixed related bugs Christopher Haster 2023-01-18 14:28:40 -06:00
  • 01dfd1feef Added tree rendering to dbgrbyd.py Christopher Haster 2023-01-18 00:40:46 -06:00
  • 8581eec433 Added lfs_rbyd_rangesize (untested), some cleanup Christopher Haster 2023-01-17 13:26:53 -06:00
  • 4aabb8f631 Reworked tag representation so that sup/sub types have expected order Christopher Haster 2023-01-15 14:01:09 -06:00
  • 1d037f4ec9 Symbol cleanup as weight representation becomes more concrete Christopher Haster 2023-01-07 02:21:13 -06:00
  • 21012dbb1b Some minor append cleanup, mostly around follow conditions Christopher Haster 2023-01-07 02:04:57 -06:00
  • 6a5aae98fc Cleaned up the leaf splitting condition Christopher Haster 2023-01-06 17:32:40 -06:00
  • 5c42e52324 Revert "A different thought on tracking found tags during lfs_rbyd_append" Christopher Haster 2023-01-06 17:04:14 -06:00
  • 209e70897c A different thought on tracking found tags during lfs_rbyd_append Christopher Haster 2023-01-06 17:03:49 -06:00
  • 3d008b793d This method of leaf splitting works, but I want to explore another option Christopher Haster 2023-01-06 16:18:15 -06:00
  • d8540974d4 Significant cleanup of lfs_rbyd_append, simplified pruning rules Christopher Haster 2023-01-06 13:34:44 -06:00
  • 17a043f4b8 Merged lfs_rbyd_append and lfs_rbyd_delete Christopher Haster 2023-01-05 11:32:54 -06:00
  • 179a1df3d3 Changed rbyd removes to remove from the tree, similar to deletes Christopher Haster 2023-01-04 21:53:50 -06:00
  • 92ce5df949 Added tests for theoretical bound on tree height and recovery from delete-all Christopher Haster 2023-01-04 12:01:12 -06:00
  • 9a1ce1be47 Removed erroneous new red edges on deletion Christopher Haster 2023-01-03 22:50:55 -06:00
  • 1a5efcfa89 Removed unnecessary use of graft in early continues Christopher Haster 2023-01-03 22:30:31 -06:00
  • 788e98a989 Made delete remove the path from the tree completely, fixed failing tests Christopher Haster 2023-01-03 22:25:53 -06:00
  • 045a1098fd Added similar delete permutation tests, note that some are failing Christopher Haster 2023-01-03 14:19:04 -06:00
  • b14851b657 Added more tests, mostly around remove permutations Christopher Haster 2023-01-03 13:26:25 -06:00
  • dc5e74ac41 Added range deletion testing Christopher Haster 2023-01-02 15:11:32 -06:00
  • fbb6bd0919 A working delete implementation? Christopher Haster 2023-01-02 13:23:46 -06:00
  • b621774759 Adopted upper/lower bounds in lfs_rbyd_append Christopher Haster 2023-01-01 22:26:27 -06:00
  • d78c4412b6 Half-adopted upper/lower bounds in lookup and append Christopher Haster 2023-01-01 15:22:15 -06:00
  • 55e9df571b Minor test_rbyd improvements Christopher Haster 2022-12-31 23:47:22 -06:00
  • ef7ee6eb7d Added delete permutation testing (failing as expected) and some minor tweaks Christopher Haster 2022-12-31 15:17:27 -06:00
  • 22879c1cbb Avoided issue with tail deletions by tossing out-of-bound lookups early Christopher Haster 2022-12-31 03:47:21 -06:00
  • 5d9e7c8e86 Moved lifetimes in dbgrbyd.py so lifetimes and jumps can both be rendered Christopher Haster 2022-12-31 02:50:02 -06:00
  • 1b6e1fdd33 Fixed delete issue with cut starting in a red edge Christopher Haster 2022-12-31 02:03:47 -06:00
  • ca710b5a29 Initial, very, very rough implementation of rbyd range deletion Christopher Haster 2022-12-31 00:52:12 -06:00
  • cde3ba4cd8 Different rbyd struct usage in commit, moved append into its own function Christopher Haster 2022-12-29 13:09:21 -06:00
  • 12edc5aee3 Added some ascii art to dbgrbyd.py to help debug how ids change over time Christopher Haster 2022-12-29 00:59:05 -06:00
  • 2979e6273a Added weight-adjusting insert operations, though it is currently very hacky Christopher Haster 2022-12-29 00:39:41 -06:00
  • 6c66e20349 Added lfs_rbyd_get, bumped hint back up to full during lookup Christopher Haster 2022-12-28 15:45:48 -06:00
  • 3c17c94b94 Added test_rbyd_large with better boundary conditions near end-of-block Christopher Haster 2022-12-28 15:22:28 -06:00
  • 8d4991df6a Added the option to error on no valid commit to dbgrbyd.py Christopher Haster 2022-12-28 02:29:24 -06:00
  • 5cdda57373 Added the ability to remove rbyd tags via tombstoning Christopher Haster 2022-12-28 02:12:32 -06:00
  • 2b475662e9 Rbyd test tweak: limited 0-tag lookups to traversal testing Christopher Haster 2022-12-28 01:01:23 -06:00
  • 1108191184 Added permutation testing of rbyd lookups over multiple commits Christopher Haster 2022-12-28 00:58:59 -06:00
  • d6ad74555b Made dbgrbyd.py a bit more resilient to truncated data Christopher Haster 2022-12-27 14:12:04 -06:00
  • a4fd070fc1 Dropped attr-size down to at most 28-bits (4 leb128 bytes) Christopher Haster 2022-12-27 13:58:16 -06:00
  • 084094116f Got all <=7 lookup permutations working, required a recoloring fix Christopher Haster 2022-12-27 13:51:06 -06:00
  • e73f1c0e8d A number of small rbyd tweaks and cleanup Christopher Haster 2022-12-27 01:34:21 -06:00
  • d9b419d36a Rbyd prune now working Christopher Haster 2022-12-26 23:14:36 -06:00
  • 471f12c79a Fixed issue with rcache going out-of-date when overlapping pcache Christopher Haster 2022-12-26 22:55:05 -06:00
  • b03420ccfc Got rbyd yellow splitting working Christopher Haster 2022-12-26 21:57:24 -06:00
  • b48f7fcfb0 Added some more debug utilities to dbgrbyd.py, mainly --rbyd and --jumps Christopher Haster 2022-12-26 20:22:42 -06:00
  • ac021f623c Added rbyd traverse testing Christopher Haster 2022-12-24 11:46:33 -06:00
  • e95ca03ff1 Minor rbyd tweaks and cleanup Christopher Haster 2022-12-23 13:18:27 -06:00
  • 53efaac243 Ok, now fixed rflip, branch/jump needed tweaking Christopher Haster 2022-12-23 12:47:40 -06:00
  • fe28837861 Rbyd trees with 4-leaves now working, fixed lfs_rtag_flip bug Christopher Haster 2022-12-23 12:28:13 -06:00
  • c5fec90465 Rbyd rflips are now working, quite nicely actually Christopher Haster 2022-12-23 03:42:05 -06:00
  • 05276cef9a Added a bias to alt weights so in-between tags prefer larger tags Christopher Haster 2022-12-22 15:36:15 -06:00
  • 168977ffad Implemented lfs_rbyd_lookup Christopher Haster 2022-12-21 19:54:44 -06:00
  • 024aaeba56 Some small tweaks Christopher Haster 2022-12-21 12:05:17 -06:00
  • 9a0e3fc749 More rbyd tests, multi-commit now working Christopher Haster 2022-12-21 11:22:29 -06:00
  • ad00ca79e2 Added dbgrbyd.py script, fixed some small things in rbyd commit Christopher Haster 2022-12-20 18:59:39 -06:00
  • 2802880eaa Initial groundwork for rbyd trees Christopher Haster 2022-12-20 00:26:43 -06:00
  • 37dcee8868 Fixed prettyasserts.py getting confused by escaped-newlines Christopher Haster 2022-12-19 18:55:24 -06:00
  • 7b151e1abb Add test scenario for truncating to a block size Colin Foster 2023-01-26 11:26:37 -08:00
  • 0f72d18b14 Added lfs_crc32c Christopher Haster 2022-12-17 22:42:07 -06:00
  • 4cde70dbee WIP Unknown progress, saving for reference dhara-metadata Christopher Haster 2022-12-18 01:38:24 -06:00
  • 2d272bb62a Merge branch 'brent-cycle-detection' into rbyd-master rbyd-devel Christopher Haster 2022-12-17 21:00:04 -06:00
  • 44a196af42 Merge branch 'crc-rework-2' into rbyd-master Christopher Haster 2022-12-17 20:59:49 -06:00
  • ba1c76435a Fixed issue where deorphan could get stuck circling between two half-orphans Christopher Haster 2022-12-10 22:38:20 -06:00
  • d1b254da2c Reverted removal of 1-bit counter threaded through tags Christopher Haster 2022-12-10 13:16:52 -06:00
  • 2f26966710 Continued implementation of forward-crcs, adopted new test runners Christopher Haster 2022-12-07 23:02:19 -06:00
  • b4091c6871 Switched to separate-tag encoding of forward-looking CRCs Christopher Haster 2020-12-06 23:54:55 -06:00
  • 91ad673c45 Cleaned up a few additional commit corner cases Christopher Haster 2020-12-06 00:20:09 -06:00
  • 52dd83096b Initial implementation of forward-looking erase-state CRCs Christopher Haster 2020-12-05 14:29:52 -06:00
  • 1278ec1d08 Adopted Brent's algorithm for cycle detection brent-cycle-detection Christopher Haster 2022-11-08 15:08:33 -06:00
  • 689bdc8e06 Fixed handful of block_size-related bugs found by CI auto-mount Christopher Haster 2022-12-06 00:43:10 -06:00
  • f198c855f6 Added benchmarks over mounting an unformatted disk Christopher Haster 2022-11-13 21:30:57 -06:00
  • 34b5b39551 Added lfs_fs_grow for growing the filesystem to a different block_count Christopher Haster 2022-11-13 13:09:21 -06:00
  • fc10790eba Added more block_size/count inference tests and fixed a couple bugs Christopher Haster 2022-11-12 14:31:52 -06:00
  • c8bc6f96cd Added lfs_fs_stat for accessing configuration in the superblocks Christopher Haster 2022-11-11 15:34:12 -06:00
  • 21e54ee458 Adopted erase_size config changes in block devices and test runners Christopher Haster 2022-11-11 15:05:34 -06:00
  • c16120bf5f Dropped erase_count, block_count makes it redundant Christopher Haster 2022-11-11 12:49:36 -06:00
  • 03beff6c54 Changed block_size search to use erase_count when block_size is zero Christopher Haster 2022-11-11 00:53:44 -06:00
  • 75f80aabd7 Added block_size search in lfs_mount, moved block_size/count into lfs_t Christopher Haster 2022-11-10 17:43:26 -06:00
  • c2147c45ee Added --gdb-pl to test.py for breaking on specific powerlosses test-and-bench-runners Christopher Haster 2022-12-10 13:17:19 -06:00
  • 801cf278ef Tweaked/fixed a number of small runner things after a bit of use Christopher Haster 2022-12-17 11:42:03 -06:00
  • 1f37eb5563 Adopted --subplot* in plot.py Christopher Haster 2022-12-15 16:26:27 -06:00
  • cfd4e6029a Added --subplot* to plotmpl.py Christopher Haster 2022-12-13 15:26:41 -06:00
  • 2d2dd8b2eb Added plotmpl.py --github flag to match the website's foreground/background Christopher Haster 2022-12-01 22:25:18 -06:00
  • b0382fa891 Added BENCH/TEST_PRNG, replacing other ad-hoc sources of randomness Christopher Haster 2022-11-30 11:23:04 -06:00
  • d8e7ffb7fd Changed lfs_emubd_get* -> lfs_emubd_* Christopher Haster 2022-11-30 10:35:53 -06:00
  • cda2f6f1da Changed test_runner to run with -Pnone,linear by default Christopher Haster 2022-11-30 00:14:52 -06:00
  • 9b687dd96a Added make benchmarks/testmarks rules Christopher Haster 2022-11-29 14:35:12 -06:00