Commit Graph

122 Commits

Author SHA1 Message Date
barter-simsum
4cf532cbff pma: minor fixup 2024-04-12 18:28:32 -04:00
barter-simsum
d9631f83e8 pma: fix memory corruption restoration bug
Previously, we failed to record node partitions in the flist on restore. No we
do so
2024-04-12 18:17:09 -04:00
barter-simsum
e437c287a9 pma: clean comments 2024-04-04 15:13:45 -04:00
barter-simsum
a6b12d89bd pma: _bt_state_meta_new leave second metapage zeroed
There's no reason to initialize anything but the first metapage and it's
probably less error prone to leave the second metapage zeroed. On sync, the
first metapage will get memcpy'd to the second, so why partially write some of
the data now?
2024-04-02 14:35:21 -04:00
barter-simsum
af2fde6805 pma: btest.c changes 2024-04-02 14:28:58 -04:00
barter-simsum
93a788ec76 pma: fix regression on restore
There was a regression introduced with partition striping that caused problems
on restore due to node partitions incidentally getting mapped anonymous rather
than to the backing file
2024-03-27 19:08:40 -04:00
barter-simsum
c7246d624e pma: fix comments 2024-03-14 16:16:21 -04:00
barter-simsum
2577875c3b pma: _node_get bounds checking 2024-03-13 15:24:20 -04:00
barter-simsum
b6cf968083 pma: btree test related changes 2024-03-13 15:20:33 -04:00
barter-simsum
c97a90f77d pma: fix PMA_GROW_SIZE_p 2024-03-13 13:10:18 -04:00
barter-simsum
0ca6de4421 pma: fix cargo build warning 2024-03-13 11:59:01 -04:00
barter-simsum
c859a5f577 pma: cleanup
comment cleanup and removal of dead code
2024-03-13 11:48:42 -04:00
barter-simsum
46ffb737ac pma: fix use-after-free of pending_nlist pointer 2024-03-13 11:36:07 -04:00
barter-simsum
21a1fcce39 pma: mlist restoration bugfix
more precisely fixes erroneous logic in child node CoWing
2024-03-13 11:35:18 -04:00
barter-simsum
aeb3f5fb50 pma: flist insert bugfix 2024-03-13 11:35:18 -04:00
barter-simsum
90d7a324f4 pma: partition striping wip. test changes 2024-03-13 11:35:18 -04:00
barter-simsum
879200a81b pma: partition striping wip
still dealing with weird issues related to mlist initialization when restoring
the persistent file in _bt_state_load
2024-03-13 11:35:18 -04:00
barter-simsum
97046975ae pma: partition striping mostly working. debugging restoration bugs 2024-03-13 11:35:18 -04:00
barter-simsum
8a04934515 pma: partition striping wip 2024-03-13 11:35:18 -04:00
barter-simsum
f4a6790d12 pma: partition striping wip 2024-03-13 11:35:18 -04:00
barter-simsum
778f5a19b0 pma: partition striping refactor. use _b and _p suffixes 2024-03-13 11:35:18 -04:00
barter-simsum
05cb9d8dba pma: partition striping wip 2024-03-13 11:35:18 -04:00
barter-simsum
38e17971ae pma: partition striping wip 2024-03-13 11:35:18 -04:00
barter-simsum
65965e1d13 pma: partition striping wip 2024-03-13 11:35:18 -04:00
barter-simsum
22fb321d05 pma: clear pending_flist after completion of _pending_flist_merge
use-after-free was responsible for crash
2024-03-12 19:16:12 -04:00
Edward Amsden
3654703992
Merge pull request #206 from urbit/barter-simsum/flist-infinite-loop-bugfix
pma: fix file growth infinite loop
2024-02-29 13:48:05 -06:00
Alex Shelkovnykov
88757cb040 Merge branch 'status' into crypto 2024-02-07 23:25:10 +09:00
Alex Shelkovnykov
593e386bc4 sha: various fixes
- make variable names consistent w/ their Hoon counterparts
- fix slice copy bugs
- add tests for cases that weren't caught until live testing
- btree.c change to boot w/ slim.pill
2024-02-07 22:56:38 +09:00
barter-simsum
6561c300b5 pma: flist insert bugfix 2024-02-02 20:53:21 -05:00
barter-simsum
e12d6c8fef pma: fix file growth infinite loop 2024-02-02 20:53:21 -05:00
Matthew LeVan
d4e0d983de pma: declare _bt_falloc iterator variables before start label 2024-01-18 10:00:54 -05:00
barter-simsum
85a878a85c pma: remove comments referring to the persistent file's "frontier" 2024-01-17 18:07:56 -05:00
barter-simsum
390c1c3356 pma: file extension bug fixes. test changes
file extension seems to be working now after reordering freelist restoration and
calling _bt_falloc in _nlist_new to create the first partition

should be able to move on to partition striping now and the explicit call to
_bt_falloc will make this easier
2024-01-12 20:02:59 -05:00
barter-simsum
a604f19d74 pma: nlist creation depends on flist existence
reordered to handle this dependency. Still debugging an issue with _flist_grow

The dependency is natural and will be required to implement partition
striping. All node partitions should call falloc and be represented in the flist
2024-01-12 19:41:19 -05:00
barter-simsum
aaa6f5e2ff pma: persistent file growth highpg tracking attempted fix
spent a while debugging this, but there are still issues on restoration. We
cannot simply call _flist_new and _flist_record_alloc on persistent state
restoration since _flist_new won't properly set the highpg. If restoring, we
should derive the high flist page (alloced or not) from state->file_size_p. I
think I way overcomplicated this
2024-01-12 18:11:42 -05:00
barter-simsum
6a08d08c0f pma: file resize test in btest.c and fixes to resize logic 2024-01-11 18:26:33 -05:00
barter-simsum
f6213bd1ce pma: minor cleanup 2024-01-10 19:15:34 -05:00
barter-simsum
aa21d14739 pma: remove frontier and only rely on state->file_size_p 2024-01-10 18:49:55 -05:00
barter-simsum
19fd0e4fb4 pma: file extension - to be revised 2024-01-10 18:27:31 -05:00
barter-simsum
4c8851c385 pma: simpler pending freelist merge. fixes use after free 2023-12-20 09:37:04 -05:00
Edward Amsden
3ae877f655 pma: lint and c warnings cleanup 2023-12-20 00:16:55 -06:00
Edward Amsden
58c49bc5e1 pma: dont assert loidx != in _bt_dirty, it could well be! 2023-12-19 21:36:27 -06:00
Edward Amsden
feeb278794 pma: lots of c-side bugfixes 2023-12-19 20:55:57 -06:00
barter-simsum
2762872a94 pma: wip test revisions 2023-12-19 17:48:04 -05:00
barter-simsum
0dac274a63 pma: minor bug fixes 2023-12-19 17:47:57 -05:00
barter-simsum
232a5bdff5 pma: freelist restoration using *_record_alloc and insertdat bugfix 2023-12-19 16:29:03 -05:00
Edward Amsden
f601a61827 pma: clean up a bunch of warnings (not all though) 2023-12-19 09:56:34 -06:00
barter-simsum
9a74aff3e8 pma: significant revisions to freelist logic 2023-12-18 22:02:58 -05:00
barter-simsum
c0e68a27f6 pma: btest ephemeral structure equality tests 2023-12-17 20:05:03 -05:00
barter-simsum
3a6ed42054 pma: depth passed to _flist_read2 should be 1 not 0 2023-12-15 19:49:35 -05:00