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
barter-simsum
2c016500ac
pma: restore mmaps before regenerating ephemeral state
2023-12-15 19:24:37 -05:00
barter-simsum
9a8229837d
pma: initialize state->which to 0 in bt_state_open
2023-12-15 18:41:50 -05:00
barter-simsum
0ec984663c
pma: revisions to codepath handling opening of existing pma
2023-12-15 18:38:52 -05:00
barter-simsum
0496de5f4c
pma: testing out a mmap call /before/ reading header
2023-12-15 16:01:34 -05:00
barter-simsum
02b1ae3dd2
pma: btest.c changes
2023-12-15 06:36:53 -05:00
barter-simsum
66aaa255f7
pma: fix freelist node size calculation in _mlist_insert
2023-12-15 06:36:30 -05:00
barter-simsum
031e583c3c
pma: fix DPRINTF in bt_malloc
2023-12-15 05:38:35 -05:00
barter-simsum
965865da13
pma: mmap freespace ahead of first node partition
2023-12-15 03:24:42 -05:00
barter-simsum
40a04ec8ab
pma: _bt_printnode print to stderr
2023-12-15 01:19:28 -05:00
barter-simsum
ff204263ff
pma: misc fixes
...
- primarily fixes a bug in _mlist_insert and _pending_flist_insert
- also updates some tests
- disables node data printing on _bt_insertdat with DEBUG_PRINTNODE macro
2023-12-15 00:50:26 -05:00
barter-simsum
a509c2fabe
pma: even more msync/mprotect changes
2023-12-14 16:40:42 -05:00
barter-simsum
a8b3619e9f
pma: more msync/mprotect abort
2023-12-14 16:35:33 -05:00
barter-simsum
92c1a23b7d
pma: abort on failed msync/mprotect
2023-12-14 16:30:29 -05:00
barter-simsum
92bb42683d
pma: fix c test3
2023-12-13 21:36:34 -05:00
barter-simsum
20693a32ce
pma: tests
2023-12-13 21:32:45 -05:00
barter-simsum
3786277230
pma: remove mkdir call from bt_state_open
2023-12-13 18:25:35 -05:00
barter-simsum
c4b1888020
pma: update mprotect calls to use BT_PROT_* macros
2023-12-13 07:52:36 -05:00
barter-simsum
e630016584
pma: mmap changes appear to be working
2023-12-13 07:45:44 -05:00
barter-simsum
88fdfe0755
pma: misc bug fixes
...
currently debugging an "invalid argument" error in the mmap call in bt_free
2023-12-13 07:17:05 -05:00
barter-simsum
7dfc32681a
pma: more mmap changes. WIP
2023-12-12 22:34:26 -05:00
barter-simsum
13b5f6bee6
pma: set protection of leaf data when syncing
2023-12-12 20:34:12 -05:00
barter-simsum
e96d7ecb4c
pma: mmap and mprotect revisions wip
2023-12-12 18:23:37 -05:00
Edward Amsden
94d92e4a3e
pma: add a missing ftruncate and mmap call, and lots of notes
2023-12-11 23:15:53 -06:00
Edward Amsden
ede9918c03
pma: some quick fixes
2023-12-11 18:34:06 -06:00