bmap: Tweaked bmapcache algo to piggyback on mdir commits
There's really no reason to immediately commit the bmap to disk, at
least no until the first mdir commit, when we need to at least discard
the previous bmap state.
We already do all the gstate handling in lfs3_mdir_commit anyways, and
piggybacking on mdir commit lets us get rid of the annoying extra mdir
param in lfs3_alloc_ckpoint.
This does mean a slightly higher risk of needing to re-rebuild the bmap
after a powerloss, but in theory only if the user does something weird
like writing to a file and never calling sync. Most on-disk operations
terminate in an mdir commit as that's how any state change becomes
atomically visibile in littlefs.
Saves a nice bit of stack:
code stack ctx
before: 36920 2368 684
after: 36920 (+0.0%) 2368 (+0.0%) 684 (+0.0%)
code stack ctx
bmap before: 38552 2472 812
bmap after: 38464 (-0.2%) 2400 (-2.9%) 812 (+0.0%)
This commit is contained in:
@@ -33,7 +33,7 @@ code = '''
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, &cfg) => 0;
|
||||
|
||||
// start allocating
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_size_t alloced = 0;
|
||||
while (true) {
|
||||
lfs3_sblock_t block = lfs3_alloc(&lfs3, ERASE);
|
||||
@@ -77,7 +77,7 @@ code = '''
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, &cfg) => 0;
|
||||
|
||||
// start allocating
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_size_t alloced = 0;
|
||||
while (true) {
|
||||
lfs3_sblock_t block = lfs3_alloc(&lfs3, ERASE);
|
||||
@@ -98,7 +98,7 @@ code = '''
|
||||
assert(alloced == COUNT-2);
|
||||
|
||||
// ack again, effectively releasing all the previously alloced blocks
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
alloced = 0;
|
||||
while (true) {
|
||||
lfs3_sblock_t block = lfs3_alloc(&lfs3, ERASE);
|
||||
|
||||
@@ -61,7 +61,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a btree
|
||||
lfs3_btree_t btree;
|
||||
@@ -2016,7 +2016,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a btree
|
||||
lfs3_btree_t btree;
|
||||
@@ -3973,7 +3973,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a btree
|
||||
lfs3_btree_t btree;
|
||||
|
||||
@@ -9,7 +9,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create an initial bmap
|
||||
lfs3_btree_t bmap;
|
||||
@@ -70,7 +70,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create an initial bmap
|
||||
lfs3_btree_t bmap;
|
||||
@@ -135,7 +135,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create an initial bmap
|
||||
lfs3_btree_t bmap;
|
||||
@@ -201,7 +201,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create an initial bmap
|
||||
lfs3_btree_t bmap;
|
||||
@@ -268,7 +268,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create an initial bmap
|
||||
lfs3_btree_t bmap;
|
||||
@@ -318,7 +318,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create an initial bmap
|
||||
lfs3_btree_t bmap;
|
||||
|
||||
+50
-50
@@ -20,7 +20,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create an empty tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -52,7 +52,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a single-entry tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -96,7 +96,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a two-entry tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -147,7 +147,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a two-entry tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -199,7 +199,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a two-entry tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -259,7 +259,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a two-entry tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -322,7 +322,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a tree with N elements
|
||||
lfs3_btree_t btree;
|
||||
@@ -374,7 +374,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a tree with N elements
|
||||
lfs3_btree_t btree;
|
||||
@@ -428,7 +428,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a btree
|
||||
lfs3_btree_t btree;
|
||||
@@ -512,7 +512,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a tree with N elements
|
||||
lfs3_btree_t btree;
|
||||
@@ -582,7 +582,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a btree
|
||||
lfs3_btree_t btree;
|
||||
@@ -720,7 +720,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a single-entry tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -767,7 +767,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a two-entry tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -827,7 +827,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a two-entry tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -901,7 +901,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a tree with N elements
|
||||
lfs3_btree_t btree;
|
||||
@@ -960,7 +960,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a btree
|
||||
lfs3_btree_t btree;
|
||||
@@ -1048,7 +1048,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a tree with N elements
|
||||
lfs3_btree_t btree;
|
||||
@@ -1123,7 +1123,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a btree
|
||||
lfs3_btree_t btree;
|
||||
@@ -1268,7 +1268,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a single-entry tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -1326,7 +1326,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a single-entry tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -1400,7 +1400,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a single-entry tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -1474,7 +1474,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a single-entry tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -1567,7 +1567,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a tree with N elements
|
||||
lfs3_btree_t btree;
|
||||
@@ -1648,7 +1648,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a tree with N elements
|
||||
lfs3_btree_t btree;
|
||||
@@ -1732,7 +1732,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a btree
|
||||
lfs3_btree_t btree;
|
||||
@@ -1822,7 +1822,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a tree with N elements
|
||||
lfs3_btree_t btree;
|
||||
@@ -1930,7 +1930,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a btree
|
||||
lfs3_btree_t btree;
|
||||
@@ -2082,7 +2082,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a tree with N elements
|
||||
lfs3_btree_t btree;
|
||||
@@ -2143,7 +2143,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a btree
|
||||
lfs3_btree_t btree;
|
||||
@@ -2234,7 +2234,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a tree with N elements
|
||||
lfs3_btree_t btree;
|
||||
@@ -2296,7 +2296,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a btree
|
||||
lfs3_btree_t btree;
|
||||
@@ -2476,7 +2476,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -2547,7 +2547,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -2621,7 +2621,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -2688,7 +2688,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -2772,7 +2772,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a btree
|
||||
lfs3_btree_t btree;
|
||||
@@ -2880,7 +2880,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a btree
|
||||
lfs3_btree_t btree;
|
||||
@@ -3047,7 +3047,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a zero-entry tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -3079,7 +3079,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a single-entry tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -3138,7 +3138,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a two-entry tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -3214,7 +3214,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a two-entry tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -3307,7 +3307,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a two-entry tree
|
||||
lfs3_btree_t btree;
|
||||
@@ -3401,7 +3401,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a tree with N elements
|
||||
lfs3_btree_t btree;
|
||||
@@ -3478,7 +3478,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a btree
|
||||
lfs3_btree_t btree;
|
||||
@@ -3596,7 +3596,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a tree with N elements
|
||||
lfs3_btree_t btree;
|
||||
@@ -3674,7 +3674,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a btree
|
||||
lfs3_btree_t btree;
|
||||
@@ -3833,7 +3833,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a btree
|
||||
lfs3_btree_t btree;
|
||||
@@ -4013,7 +4013,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a btree
|
||||
lfs3_btree_t btree;
|
||||
@@ -4241,7 +4241,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a tree with N elements
|
||||
lfs3_btree_t btree;
|
||||
@@ -4369,7 +4369,7 @@ code = '''
|
||||
lfs3.lookahead.off = 0;
|
||||
lfs3.lookahead.known = lfs3_min(8*CFG->lookahead_size,
|
||||
CFG->block_count-2);
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create a btree
|
||||
lfs3_btree_t btree;
|
||||
|
||||
@@ -1226,7 +1226,7 @@ code = '''
|
||||
lfs3_file_sync(&lfs3, &file) => 0;
|
||||
|
||||
// create an empty btree
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_rbyd_alloc(&lfs3, &file.b.shrub.r) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &file.b.shrub.r, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(LFS3_TAG_DATA, +1, "?", 1))) => 0;
|
||||
|
||||
+46
-46
@@ -42,7 +42,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
for (lfs3_size_t i = 0; i < N; i++) {
|
||||
lfs3_mdir_commit(&lfs3, &lfs3.mroot, LFS3_RATTRS(
|
||||
@@ -86,7 +86,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
for (lfs3_size_t i = 0; i < N; i++) {
|
||||
// force mroot to compact
|
||||
@@ -133,7 +133,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
for (lfs3_size_t i = 0; i < N; i++) {
|
||||
lfs3_mdir_commit(&lfs3, &lfs3.mroot, LFS3_RATTRS(
|
||||
@@ -182,7 +182,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// create a 2 large rattrs that needs to be uninlined
|
||||
@@ -265,7 +265,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
@@ -360,7 +360,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
@@ -501,7 +501,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create entries
|
||||
for (lfs3_size_t i = 0; i < N; i++) {
|
||||
@@ -588,7 +588,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
bool sim[N];
|
||||
for (lfs3_size_t i = 0; i < N; i++) {
|
||||
@@ -697,7 +697,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
@@ -791,7 +791,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
@@ -887,7 +887,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
@@ -964,7 +964,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
@@ -1084,7 +1084,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
@@ -1206,7 +1206,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
bool sim[N];
|
||||
for (lfs3_size_t i = 0; i < N; i++) {
|
||||
@@ -1343,7 +1343,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// create a 2 large rattrs that needs to be uninlined
|
||||
@@ -1469,7 +1469,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
@@ -1609,7 +1609,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
@@ -1749,7 +1749,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// prepare mroot with an entry
|
||||
@@ -1832,7 +1832,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// prepare mroot with an entry
|
||||
@@ -1970,7 +1970,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// prepare mroot with an entry
|
||||
@@ -2081,7 +2081,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
@@ -2226,7 +2226,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
@@ -2388,7 +2388,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
@@ -2495,7 +2495,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// force mroot to compact once, so the second compact below will
|
||||
// trigger a relocation
|
||||
@@ -2588,7 +2588,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// force mroot to compact once, so the second compact below will
|
||||
// trigger a relocation
|
||||
@@ -2695,7 +2695,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
bool sim[N];
|
||||
for (lfs3_size_t i = 0; i < N; i++) {
|
||||
@@ -2857,7 +2857,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// setup our neighbors
|
||||
lfs3_handle_t left = {.flags=0};
|
||||
@@ -2917,7 +2917,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// setup our neighbors
|
||||
lfs3_handle_t left = {.flags=0};
|
||||
@@ -2967,7 +2967,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// setup our neighbors
|
||||
lfs3_handle_t left = {.flags=0};
|
||||
@@ -3019,7 +3019,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// setup our neighbors
|
||||
lfs3_handle_t left = {.flags=0};
|
||||
@@ -3096,7 +3096,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// setup our neighbors
|
||||
lfs3_handle_t left = {.flags=0};
|
||||
@@ -3187,7 +3187,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// setup our neighbors
|
||||
lfs3_handle_t left = {.flags=0};
|
||||
@@ -3245,7 +3245,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// setup our neighbors
|
||||
lfs3_handle_t left = {.flags=0};
|
||||
@@ -3342,7 +3342,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// setup our neighbors
|
||||
lfs3_handle_t left = {.flags=0};
|
||||
@@ -3437,7 +3437,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// setup our neighbors
|
||||
lfs3_handle_t left = {.flags=0};
|
||||
@@ -3547,7 +3547,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// setup our neighbors
|
||||
lfs3_handle_t left = {.flags=0};
|
||||
@@ -3651,7 +3651,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// insert at least one entry
|
||||
lfs3_mdir_t mdir;
|
||||
@@ -3757,7 +3757,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// create a 2 large rattrs that needs to be uninlined
|
||||
@@ -3897,7 +3897,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
@@ -4049,7 +4049,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
@@ -4234,7 +4234,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// insert at least one entry
|
||||
lfs3_mdir_t mdir;
|
||||
@@ -4353,7 +4353,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
// create entries
|
||||
for (lfs3_size_t i = 0; i < N; i++) {
|
||||
@@ -4505,7 +4505,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
bool sim[N];
|
||||
for (lfs3_size_t i = 0; i < N; i++) {
|
||||
@@ -4678,7 +4678,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
|
||||
lfs3_mdir_commit(&lfs3, &lfs3.mroot, LFS3_RATTRS(
|
||||
LFS3_RATTR_MPTR(
|
||||
@@ -4998,7 +4998,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// prepare mroot with an entry
|
||||
@@ -5058,7 +5058,7 @@ code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | F_FLAGS, CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR | M_FLAGS, CFG) => 0;
|
||||
lfs3_alloc_ckpoint(&lfs3, NULL);
|
||||
lfs3_alloc_ckpoint(&lfs3);
|
||||
lfs3_data_t data;
|
||||
|
||||
// prepare mroot with an entry
|
||||
|
||||
Reference in New Issue
Block a user