-
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