Adopted lowercase => internal pattern for LFS3_tag_* tags
This includes the mask/rm/grow bits: - LFS3_tag_RM - LFS3_tag_GROW - LFS3_tag_MASK0/2/8/12 Our in-device only handle types: - LFS3_tag_ORPHAN - LFS3_tag_TRV - LFS3_tag_UNKNOWN And in-device only tags with special behavior: - LFS3_tag_INTERNAL - LFS3_tag_RATTRS - LFS3_tag_SHRUBCOMMIT - LFS3_tag_GRMPUSH - LFS3_tag_MOVE - LFS3_tag_ATTRS Usually I'm not a big fan of case-sensitive naming patterns, but this has been useful for self-documenting what compat flags are in-device only. Might as well extend the idea to our tag definitions.
This commit is contained in:
+60
-60
@@ -730,7 +730,7 @@ code = '''
|
||||
// update the tree
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
"A", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.r.weight,
|
||||
@@ -779,11 +779,11 @@ code = '''
|
||||
// update the tree
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
"A", 1))) => 0;
|
||||
lfs3_btree_commit(&lfs3, &btree, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
"B", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.r.weight,
|
||||
@@ -841,15 +841,15 @@ code = '''
|
||||
// update the tree
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
"A", 1))) => 0;
|
||||
lfs3_btree_commit(&lfs3, &btree, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
"B", 1))) => 0;
|
||||
lfs3_btree_commit(&lfs3, &btree, 2, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
"C", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.r.weight,
|
||||
@@ -916,7 +916,7 @@ code = '''
|
||||
for (lfs3_size_t i = 0; i < N; i++) {
|
||||
lfs3_btree_commit(&lfs3, &btree, i, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
&(uint8_t){'A'+(i % 26)}, 1))) => 0;
|
||||
}
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
@@ -989,7 +989,7 @@ code = '''
|
||||
// update btree
|
||||
lfs3_btree_commit(&lfs3, &btree, bid, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
&(uint8_t){'A'+(i % 26)}, 1))) => 0;
|
||||
|
||||
// update sim
|
||||
@@ -1063,7 +1063,7 @@ code = '''
|
||||
for (lfs3_size_t i = 0; i < N; i++) {
|
||||
lfs3_btree_commit(&lfs3, &btree, i*W+W-1, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
&(uint8_t){'A'+(i % 26)}, 1))) => 0;
|
||||
}
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
@@ -1163,10 +1163,10 @@ code = '''
|
||||
lfs3_btree_commit(&lfs3, &btree,
|
||||
weighted_bid+sim_weights[bid]-1, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
&(uint8_t){'A'+(i % 26)}, 1),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_GROW, +weight-sim_weights[bid]))) => 0;
|
||||
LFS3_tag_GROW, +weight-sim_weights[bid]))) => 0;
|
||||
|
||||
// update sim
|
||||
sim[bid] = 'A'+(i % 26);
|
||||
@@ -1277,7 +1277,7 @@ code = '''
|
||||
LFS3_RATTR_BUF(LFS3_TAG_DATA, +1, "a", 1))) => 0;
|
||||
// pop!
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.r.weight,
|
||||
btree.r.blocks[0],
|
||||
@@ -1337,7 +1337,7 @@ code = '''
|
||||
LFS3_RATTR_BUF(LFS3_TAG_DATA, +1, "b", 1))) => 0;
|
||||
// pop!
|
||||
lfs3_btree_commit(&lfs3, &btree, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.r.weight,
|
||||
btree.r.blocks[0],
|
||||
@@ -1411,7 +1411,7 @@ code = '''
|
||||
LFS3_RATTR_BUF(LFS3_TAG_DATA, +1, "b", 1))) => 0;
|
||||
// pop!
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.r.weight,
|
||||
btree.r.blocks[0],
|
||||
@@ -1487,7 +1487,7 @@ code = '''
|
||||
LFS3_RATTR_BUF(LFS3_TAG_DATA, +1, "c", 1))) => 0;
|
||||
// pop!
|
||||
lfs3_btree_commit(&lfs3, &btree, 2, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.r.weight,
|
||||
btree.r.blocks[0],
|
||||
@@ -1581,7 +1581,7 @@ code = '''
|
||||
// drain the tree
|
||||
for (lfs3_size_t i = 0; i < N-REMAINING; i++) {
|
||||
lfs3_btree_commit(&lfs3, &btree, N-1-i, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
}
|
||||
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
@@ -1662,7 +1662,7 @@ code = '''
|
||||
// drain the tree
|
||||
for (lfs3_size_t i = 0; i < N-REMAINING; i++) {
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
}
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.r.weight,
|
||||
@@ -1761,7 +1761,7 @@ code = '''
|
||||
|
||||
// remove from btree
|
||||
lfs3_btree_commit(&lfs3, &btree, bid, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
// remove from sim
|
||||
memmove(&sim[bid], &sim[bid+1], sim_size-(bid+1));
|
||||
@@ -1836,7 +1836,7 @@ code = '''
|
||||
// drain the tree
|
||||
for (lfs3_size_t i = 0; i < N-REMAINING; i++) {
|
||||
lfs3_btree_commit(&lfs3, &btree, (N-1-i)*W+W-1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -W))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -W))) => 0;
|
||||
}
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.r.weight,
|
||||
@@ -1980,7 +1980,7 @@ code = '''
|
||||
lfs3_btree_commit(&lfs3, &btree,
|
||||
weighted_bid+sim_weights[bid]-1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM, -sim_weights[bid]))) => 0;
|
||||
LFS3_tag_RM, -sim_weights[bid]))) => 0;
|
||||
|
||||
// remove from sim
|
||||
memmove(&sim[bid], &sim[bid+1], sim_size-(bid+1));
|
||||
@@ -2334,7 +2334,7 @@ code = '''
|
||||
lfs3_btree_commit(&lfs3, &btree,
|
||||
weighted_bid+sim_weights[bid]-1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_GROW, +weight1-sim_weights[bid]),
|
||||
LFS3_tag_GROW, +weight1-sim_weights[bid]),
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_DATA, 0,
|
||||
&(uint8_t){'a'+(i % 26)}, 1),
|
||||
@@ -2501,14 +2501,14 @@ code = '''
|
||||
memset(buf2, 'b', SIZE);
|
||||
lfs3_btree_commit(&lfs3, &btree, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR_DATA(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
&LFS3_DATA_BUF(buf2, SIZE)))) => 0;
|
||||
assert(btree.r.weight == 2);
|
||||
|
||||
// now remove one entry, since this brings the rbyd down to zero,
|
||||
// this should force one of the blocks to drop
|
||||
lfs3_btree_commit(&lfs3, &btree, SIBLING, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.r.weight,
|
||||
@@ -2572,7 +2572,7 @@ code = '''
|
||||
memset(buf2, 'b', SIZE);
|
||||
lfs3_btree_commit(&lfs3, &btree, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR_DATA(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
&LFS3_DATA_BUF(buf2, SIZE)))) => 0;
|
||||
assert(btree.r.weight == 2);
|
||||
|
||||
@@ -2582,7 +2582,7 @@ code = '''
|
||||
// do this while forcing a compaction
|
||||
lfs3_btree_claim(&btree);
|
||||
lfs3_btree_commit(&lfs3, &btree, SIBLING, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.r.weight,
|
||||
@@ -2649,7 +2649,7 @@ code = '''
|
||||
//
|
||||
lfs3_btree_claim(&btree);
|
||||
lfs3_btree_commit(&lfs3, &btree, SIBLING, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.r.weight,
|
||||
@@ -2713,25 +2713,25 @@ code = '''
|
||||
memset(buf2, 'b', SIZE);
|
||||
lfs3_btree_commit(&lfs3, &btree, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR_DATA(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
&LFS3_DATA_BUF(buf2, SIZE)))) => 0;
|
||||
assert(btree.r.weight == 2);
|
||||
|
||||
// now make both entries small so they should be merged if either compacts
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
"a", 1))) => 0;
|
||||
lfs3_btree_commit(&lfs3, &btree, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
"b", 1))) => 0;
|
||||
|
||||
// force compaction, while removing one entry, this drops the rbyd
|
||||
// down to zero while also triggering a merge
|
||||
lfs3_btree_claim(&btree);
|
||||
lfs3_btree_commit(&lfs3, &btree, SIBLING, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.r.weight,
|
||||
@@ -2809,7 +2809,7 @@ code = '''
|
||||
// update btree
|
||||
lfs3_btree_commit(&lfs3, &btree, bid, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
|
||||
// update sim
|
||||
@@ -2818,7 +2818,7 @@ code = '''
|
||||
} else {
|
||||
// pop from btree
|
||||
lfs3_btree_commit(&lfs3, &btree, bid, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
// pop from sim
|
||||
memmove(&sim[bid], &sim[bid+1], sim_size-(bid+1));
|
||||
@@ -2931,10 +2931,10 @@ code = '''
|
||||
lfs3_btree_commit(&lfs3, &btree,
|
||||
weighted_bid+sim_weights[bid]-1, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
&(uint8_t){'a'+(i % 26)}, 1),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_GROW, +weight-sim_weights[bid]))) => 0;
|
||||
LFS3_tag_GROW, +weight-sim_weights[bid]))) => 0;
|
||||
|
||||
// update sim
|
||||
sim[bid] = 'a'+(i % 26);
|
||||
@@ -2945,7 +2945,7 @@ code = '''
|
||||
lfs3_btree_commit(&lfs3, &btree,
|
||||
weighted_bid+sim_weights[bid]-1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM, -sim_weights[bid]))) => 0;
|
||||
LFS3_tag_RM, -sim_weights[bid]))) => 0;
|
||||
|
||||
// remove from sim
|
||||
memmove(&sim[bid], &sim[bid+1], sim_size-(bid+1));
|
||||
@@ -3105,7 +3105,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, 0*DID, "aaa", 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_EQ;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == 0);
|
||||
@@ -3116,7 +3116,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, 1*DID, "aab", 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_LT;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == 0);
|
||||
@@ -3170,7 +3170,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, 0, "aaa", 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_EQ;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == 0);
|
||||
@@ -3181,7 +3181,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, 0, "aab", 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_EQ;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == 1);
|
||||
@@ -3192,7 +3192,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, 0, "aac", 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_LT;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == 1);
|
||||
@@ -3252,7 +3252,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, 0*DID, "aaa", 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_EQ;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == 0);
|
||||
@@ -3263,7 +3263,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, 1*DID, "aab", 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_EQ;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == 1);
|
||||
@@ -3274,7 +3274,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, 2*DID, "aac", 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_EQ;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == 2);
|
||||
@@ -3285,7 +3285,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, 3*DID, "aad", 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_LT;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == 2);
|
||||
@@ -3345,7 +3345,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, 0*DID, "aaa", 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_EQ;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == 0);
|
||||
@@ -3356,7 +3356,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, 1*DID, "aab", 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_EQ;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == 1);
|
||||
@@ -3367,7 +3367,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, 2*DID, "aac", 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_EQ;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == 2);
|
||||
@@ -3378,7 +3378,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, 3*DID, "aad", 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_LT;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == 2);
|
||||
@@ -3454,7 +3454,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, i*DID, name, 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_EQ;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == i);
|
||||
@@ -3566,7 +3566,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, 0, sim_names[i], 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_EQ;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == i);
|
||||
@@ -3649,7 +3649,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, i*DID, name, 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_EQ;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == i*W+W-1);
|
||||
@@ -3731,7 +3731,7 @@ code = '''
|
||||
lfs3_btree_commit(&lfs3, &btree,
|
||||
weighted_bid+sim_weights[bid]-1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_GROW, +weight1-sim_weights[bid]),
|
||||
LFS3_tag_GROW, +weight1-sim_weights[bid]),
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+(i % 10)}, 1),
|
||||
@@ -3802,7 +3802,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, 0, sim_names[i], 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_EQ;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == weighted_bid+sim_weights[i]-1);
|
||||
@@ -3940,7 +3940,7 @@ code = '''
|
||||
// update btree
|
||||
lfs3_btree_commit(&lfs3, &btree, bid, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+(i % 10)}, 1))) => 0;
|
||||
|
||||
// update sim
|
||||
@@ -3949,7 +3949,7 @@ code = '''
|
||||
} else {
|
||||
// pop from btree
|
||||
lfs3_btree_commit(&lfs3, &btree, bid, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
// pop from sim
|
||||
memmove(&sim[bid], &sim[bid+1], sim_size-(bid+1));
|
||||
@@ -3984,7 +3984,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, 0, sim_names[i], 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_EQ;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == i);
|
||||
@@ -4138,10 +4138,10 @@ code = '''
|
||||
lfs3_btree_commit(&lfs3, &btree,
|
||||
weighted_bid+sim_weights[bid]-1, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_DATA, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+(i % 10)}, 1),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_GROW, +weight-sim_weights[bid]))) => 0;
|
||||
LFS3_tag_GROW, +weight-sim_weights[bid]))) => 0;
|
||||
|
||||
// update sim
|
||||
sim[bid] = '0'+(i % 10);
|
||||
@@ -4152,7 +4152,7 @@ code = '''
|
||||
lfs3_btree_commit(&lfs3, &btree,
|
||||
weighted_bid+sim_weights[bid]-1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM, -sim_weights[bid]))) => 0;
|
||||
LFS3_tag_RM, -sim_weights[bid]))) => 0;
|
||||
|
||||
// pop from sim
|
||||
memmove(&sim[bid], &sim[bid+1], sim_size-(bid+1));
|
||||
@@ -4210,7 +4210,7 @@ code = '''
|
||||
lfs3_btree_namelookup(&lfs3, &btree, 0, sim_names[i], 3,
|
||||
&bid_, NULL, &weight_, NULL) => LFS3_CMP_EQ;
|
||||
tag_ = lfs3_btree_lookup(&lfs3, &btree,
|
||||
bid_, LFS3_TAG_MASK8 | LFS3_TAG_STRUCT,
|
||||
bid_, LFS3_tag_MASK8 | LFS3_TAG_STRUCT,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(bid_ == weighted_bid+sim_weights[i]-1);
|
||||
|
||||
@@ -979,7 +979,7 @@ code = '''
|
||||
// delete any bshrub/btree
|
||||
lfs3_mdir_commit(&lfs3, &file.b.h.mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_MASK8 | LFS3_TAG_STRUCT, 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_tag_MASK8 | LFS3_TAG_STRUCT, 0))) => 0;
|
||||
|
||||
lfs3_file_close(&lfs3, &file) => 0;
|
||||
|
||||
@@ -1107,11 +1107,11 @@ code = '''
|
||||
.bshrub=&file.b,
|
||||
.rid=0,
|
||||
.rattrs=((lfs3_rattr_t[]){
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1)}),
|
||||
LFS3_RATTR(LFS3_tag_RM, -1)}),
|
||||
.rattr_count=1})))) => 0;
|
||||
lfs3_mdir_commit(&lfs3, &file.b.h.mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR_SHRUB(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_BSHRUB, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_BSHRUB, 0,
|
||||
&file.b.b_))) => 0;
|
||||
|
||||
lfs3_file_close(&lfs3, &file) => 0;
|
||||
@@ -1231,10 +1231,10 @@ code = '''
|
||||
lfs3_rbyd_commit(&lfs3, &file.b.b.r, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(LFS3_TAG_DATA, +1, "?", 1))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &file.b.b.r, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
lfs3_mdir_commit(&lfs3, &file.b.h.mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR_BTREE(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_BTREE, 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_BTREE, 0,
|
||||
&file.b.b))) => 0;
|
||||
|
||||
lfs3_file_close(&lfs3, &file) => 0;
|
||||
|
||||
@@ -5001,7 +5001,7 @@ code = '''
|
||||
printf("pos = %d, %d\n", pos, weight);
|
||||
lfs3_bshrub_commit(&lfs3, &file.b, pos, LFS3_RATTRS(
|
||||
LFS3_RATTR_DATA(
|
||||
LFS3_TAG_GROW | tag, -(weight/2),
|
||||
LFS3_tag_GROW | tag, -(weight/2),
|
||||
&data))) => 0;
|
||||
|
||||
pos = pos - (weight/2) + 1;
|
||||
@@ -5111,7 +5111,7 @@ code = '''
|
||||
printf("pos = %d, %d\n", pos, weight);
|
||||
lfs3_bshrub_commit(&lfs3, &file.b, pos, LFS3_RATTRS(
|
||||
LFS3_RATTR_DATA(
|
||||
LFS3_TAG_GROW | tag, -(weight/2),
|
||||
LFS3_tag_GROW | tag, -(weight/2),
|
||||
&data))) => 0;
|
||||
|
||||
pos = pos - (weight/2) + 1;
|
||||
|
||||
+10
-10
@@ -705,7 +705,7 @@ code = '''
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
lfs3_mdir_commit(&lfs3, &lfs3.mroot, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_MAGIC, 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_MAGIC, 0))) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
// mount should now fail
|
||||
@@ -1291,7 +1291,7 @@ code = '''
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR_CAT(
|
||||
LFS3_TAG_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
lfs3_data_fromleb128(did, (uint8_t[LFS3_LEB128_DSIZE]){0}),
|
||||
LFS3_DATA_BUF(path, lfs3_path_namelen(path))))) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
@@ -1378,7 +1378,7 @@ code = '''
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR_CAT(
|
||||
LFS3_TAG_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
lfs3_data_fromleb128(did, (uint8_t[LFS3_LEB128_DSIZE]){0}),
|
||||
LFS3_DATA_BUF(path, lfs3_path_namelen(path))))) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
@@ -1484,7 +1484,7 @@ code = '''
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR_CAT(
|
||||
LFS3_TAG_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
lfs3_data_fromleb128(did, (uint8_t[LFS3_LEB128_DSIZE]){0}),
|
||||
LFS3_DATA_BUF(path, lfs3_path_namelen(path))))) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
@@ -1593,7 +1593,7 @@ code = '''
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR_CAT(
|
||||
LFS3_TAG_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
lfs3_data_fromleb128(did, (uint8_t[LFS3_LEB128_DSIZE]){0}),
|
||||
LFS3_DATA_BUF(path, lfs3_path_namelen(path))))) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
@@ -1702,7 +1702,7 @@ code = '''
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR_CAT(
|
||||
LFS3_TAG_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
lfs3_data_fromleb128(did, (uint8_t[LFS3_LEB128_DSIZE]){0}),
|
||||
LFS3_DATA_BUF(path, lfs3_path_namelen(path))))) => 0;
|
||||
path = "c";
|
||||
@@ -1710,7 +1710,7 @@ code = '''
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR_CAT(
|
||||
LFS3_TAG_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
lfs3_data_fromleb128(did, (uint8_t[LFS3_LEB128_DSIZE]){0}),
|
||||
LFS3_DATA_BUF(path, lfs3_path_namelen(path))))) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
@@ -1819,7 +1819,7 @@ code = '''
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR_CAT(
|
||||
LFS3_TAG_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
lfs3_data_fromleb128(did, (uint8_t[LFS3_LEB128_DSIZE]){0}),
|
||||
LFS3_DATA_BUF(path, lfs3_path_namelen(path))))) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
@@ -1928,7 +1928,7 @@ code = '''
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR_CAT(
|
||||
LFS3_TAG_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
lfs3_data_fromleb128(did, (uint8_t[LFS3_LEB128_DSIZE]){0}),
|
||||
LFS3_DATA_BUF(path, lfs3_path_namelen(path))))) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
@@ -2037,7 +2037,7 @@ code = '''
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR_CAT(
|
||||
LFS3_TAG_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
lfs3_data_fromleb128(did, (uint8_t[LFS3_LEB128_DSIZE]){0}),
|
||||
LFS3_DATA_BUF(path, lfs3_path_namelen(path))))) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
+11
-11
@@ -737,7 +737,7 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
assert(mdir.r.weight == 0);
|
||||
|
||||
// assert mdir was dropped
|
||||
@@ -833,7 +833,7 @@ code = '''
|
||||
// force mdir to compact while we're removing
|
||||
mdir.r.eoff = -1;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
assert(mdir.r.weight == 0);
|
||||
|
||||
// assert mdir was dropped
|
||||
@@ -920,7 +920,7 @@ code = '''
|
||||
lfs3.mroot.r.eoff = -1;
|
||||
mdir.r.eoff = -1;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
// assert split/drop worked out
|
||||
@@ -1016,7 +1016,7 @@ code = '''
|
||||
// force mdir to compact while we're removing
|
||||
mdir.r.eoff = -1;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
assert(mdir.r.weight == 1);
|
||||
|
||||
// assert split/drop worked out
|
||||
@@ -1136,7 +1136,7 @@ code = '''
|
||||
// force mdir to compact while we're removing
|
||||
mdir.r.eoff = -1;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
assert(mdir.r.weight == 1);
|
||||
|
||||
// assert split/drop worked out
|
||||
@@ -1271,7 +1271,7 @@ code = '''
|
||||
mdir.r.eoff = -1;
|
||||
}
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2437,7 +2437,7 @@ code = '''
|
||||
// force mdir to compact while we're removing
|
||||
mdir.r.eoff = -1;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
assert(mdir.r.weight == 0);
|
||||
// assert mroot relocated
|
||||
assert(lfs3_mdir_cmp(&old_mroot, &lfs3.mroot) != 0);
|
||||
@@ -2790,7 +2790,7 @@ code = '''
|
||||
mdir.r.eoff = -1;
|
||||
}
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2941,7 +2941,7 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, "a", 1,
|
||||
&mdir, NULL) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
// assert neighbor was removed
|
||||
@@ -2991,7 +2991,7 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, "b", 1,
|
||||
&mdir, NULL) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
// assert neighbor was removed
|
||||
@@ -3613,7 +3613,7 @@ code = '''
|
||||
|
||||
// now remove the middle entry, forcing a drop
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
assert(mdir.r.weight == 0);
|
||||
|
||||
// assert mdir was dropped correctly
|
||||
|
||||
+130
-130
@@ -3000,7 +3000,7 @@ code = '''
|
||||
"\xaa\xaa\xaa\xaa", 4))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(1), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(1), 0))) => 0;
|
||||
|
||||
lfs3_rbyd_lookupnext(&lfs3, &rbyd, -1, LFS3_TAG_ATTR(1),
|
||||
&rid_, NULL, &data_) => LFS3_ERR_NOENT;
|
||||
@@ -3025,7 +3025,7 @@ code = '''
|
||||
"\xbb\xbb\xbb\xbb", 4))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(1), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(1), 0))) => 0;
|
||||
|
||||
tag_ = lfs3_rbyd_lookupnext(&lfs3, &rbyd, -1, LFS3_TAG_ATTR(1),
|
||||
&rid_, NULL, &data_);
|
||||
@@ -3066,7 +3066,7 @@ code = '''
|
||||
"\xbb\xbb\xbb\xbb", 4))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(2), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(2), 0))) => 0;
|
||||
|
||||
tag_ = lfs3_rbyd_lookupnext(&lfs3, &rbyd, -1, LFS3_TAG_ATTR(1),
|
||||
&rid_, NULL, &data_);
|
||||
@@ -3170,7 +3170,7 @@ code = '''
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(j+1), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(j+1), 0))) => 0;
|
||||
|
||||
lfs3_rbyd_fetch(&lfs3, &rbyd, rbyd.blocks[0], CFG->block_size) => 0;
|
||||
for (unsigned k = 0; k < N; k++) {
|
||||
@@ -3317,7 +3317,7 @@ code = '''
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(j+1), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(j+1), 0))) => 0;
|
||||
|
||||
// try traversing over the tags
|
||||
lfs3_rbyd_fetch(&lfs3, &rbyd, rbyd.blocks[0], CFG->block_size) => 0;
|
||||
@@ -3401,7 +3401,7 @@ code = '''
|
||||
// try to remove tags that aren't there, this should do nothing
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(1), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(1), 0))) => 0;
|
||||
tag_ = lfs3_rbyd_lookupnext(&lfs3, &rbyd, -1, LFS3_TAG_ATTR(1),
|
||||
&rid_, NULL, &data_);
|
||||
assert(tag_ == LFS3_TAG_ATTR(2));
|
||||
@@ -3427,7 +3427,7 @@ code = '''
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(3), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(3), 0))) => 0;
|
||||
tag_ = lfs3_rbyd_lookupnext(&lfs3, &rbyd, -1, LFS3_TAG_ATTR(1),
|
||||
&rid_, NULL, &data_);
|
||||
assert(tag_ == LFS3_TAG_ATTR(2));
|
||||
@@ -3453,7 +3453,7 @@ code = '''
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(5), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(5), 0))) => 0;
|
||||
tag_ = lfs3_rbyd_lookupnext(&lfs3, &rbyd, -1, LFS3_TAG_ATTR(1),
|
||||
&rid_, NULL, &data_);
|
||||
assert(tag_ == LFS3_TAG_ATTR(2));
|
||||
@@ -3543,11 +3543,11 @@ code = '''
|
||||
// remove several attributes
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(1), 0),
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(1), 0),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(3), 0),
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(3), 0),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(5), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(5), 0))) => 0;
|
||||
|
||||
tag_ = lfs3_rbyd_lookupnext(&lfs3, &rbyd, -1, LFS3_TAG_ATTR(1),
|
||||
&rid_, NULL, &data_);
|
||||
@@ -3575,7 +3575,7 @@ code = '''
|
||||
// try to remove tags that aren't there, this should do nothing
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(1), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(1), 0))) => 0;
|
||||
tag_ = lfs3_rbyd_lookupnext(&lfs3, &rbyd, -1, LFS3_TAG_ATTR(1),
|
||||
&rid_, NULL, &data_);
|
||||
assert(tag_ == LFS3_TAG_ATTR(2));
|
||||
@@ -3601,7 +3601,7 @@ code = '''
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(3), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(3), 0))) => 0;
|
||||
tag_ = lfs3_rbyd_lookupnext(&lfs3, &rbyd, -1, LFS3_TAG_ATTR(1),
|
||||
&rid_, NULL, &data_);
|
||||
assert(tag_ == LFS3_TAG_ATTR(2));
|
||||
@@ -3627,7 +3627,7 @@ code = '''
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(5), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(5), 0))) => 0;
|
||||
tag_ = lfs3_rbyd_lookupnext(&lfs3, &rbyd, -1, LFS3_TAG_ATTR(1),
|
||||
&rid_, NULL, &data_);
|
||||
assert(tag_ == LFS3_TAG_ATTR(2));
|
||||
@@ -3655,7 +3655,7 @@ code = '''
|
||||
// these removes still commit to the rbyd)
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(1), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(1), 0))) => 0;
|
||||
tag_ = lfs3_rbyd_lookupnext(&lfs3, &rbyd, -1, LFS3_TAG_ATTR(1),
|
||||
&rid_, NULL, &data_);
|
||||
assert(tag_ == LFS3_TAG_ATTR(2));
|
||||
@@ -3681,7 +3681,7 @@ code = '''
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(3), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(3), 0))) => 0;
|
||||
tag_ = lfs3_rbyd_lookupnext(&lfs3, &rbyd, -1, LFS3_TAG_ATTR(1),
|
||||
&rid_, NULL, &data_);
|
||||
assert(tag_ == LFS3_TAG_ATTR(2));
|
||||
@@ -3707,7 +3707,7 @@ code = '''
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(5), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(5), 0))) => 0;
|
||||
tag_ = lfs3_rbyd_lookupnext(&lfs3, &rbyd, -1, LFS3_TAG_ATTR(1),
|
||||
&rid_, NULL, &data_);
|
||||
assert(tag_ == LFS3_TAG_ATTR(2));
|
||||
@@ -3783,7 +3783,7 @@ code = '''
|
||||
"\xaa\xaa\xaa\xaa", 4))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(1), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(1), 0))) => 0;
|
||||
|
||||
lfs3_rbyd_lookupnext(&lfs3, &rbyd, -1, LFS3_TAG_ATTR(1),
|
||||
&rid_, NULL, &data_) => LFS3_ERR_NOENT;
|
||||
@@ -3808,9 +3808,9 @@ code = '''
|
||||
"\xbb\xbb\xbb\xbb", 4))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(1), 0),
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(1), 0),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(2), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(2), 0))) => 0;
|
||||
|
||||
lfs3_rbyd_lookupnext(&lfs3, &rbyd, -1, LFS3_TAG_ATTR(1),
|
||||
&rid_, NULL, &data_) => LFS3_ERR_NOENT;
|
||||
@@ -3835,9 +3835,9 @@ code = '''
|
||||
"\xbb\xbb\xbb\xbb", 4))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(2), 0),
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(2), 0),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(1), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(1), 0))) => 0;
|
||||
|
||||
lfs3_rbyd_lookupnext(&lfs3, &rbyd, -1, LFS3_TAG_ATTR(1),
|
||||
&rid_, NULL, &data_) => LFS3_ERR_NOENT;
|
||||
@@ -3930,7 +3930,7 @@ code = '''
|
||||
for (unsigned j = 0; j < N; j++) {
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(perm[j]+1), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(perm[j]+1), 0))) => 0;
|
||||
}
|
||||
|
||||
// check that all tags are now removed
|
||||
@@ -4051,7 +4051,7 @@ code = '''
|
||||
// update our rbyd
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(rattr), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(rattr), 0))) => 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6401,7 +6401,7 @@ code = '''
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j/M, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR((j%M)+1), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR((j%M)+1), 0))) => 0;
|
||||
|
||||
lfs3_rbyd_fetch(&lfs3, &rbyd, rbyd.blocks[0], CFG->block_size) => 0;
|
||||
for (unsigned k = 0; k < N; k++) {
|
||||
@@ -6599,7 +6599,7 @@ code = '''
|
||||
for (unsigned j = 0; j < N*M; j++) {
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, perm[j]/M, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(perm[j]%M+1), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(perm[j]%M+1), 0))) => 0;
|
||||
}
|
||||
|
||||
// check that all tags have been removed
|
||||
@@ -7086,7 +7086,7 @@ code = '''
|
||||
LFS3_TAG_DATA, +1,
|
||||
"\xbb\xbb\xbb\xbb", 4))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 1);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -7116,7 +7116,7 @@ code = '''
|
||||
LFS3_TAG_DATA, +1,
|
||||
"\xbb\xbb\xbb\xbb", 4))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 1);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -7149,7 +7149,7 @@ code = '''
|
||||
LFS3_TAG_DATA, +1,
|
||||
"\xcc\xcc\xcc\xcc", 4))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 2, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 2);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -7188,7 +7188,7 @@ code = '''
|
||||
LFS3_TAG_DATA, +1,
|
||||
"\xcc\xcc\xcc\xcc", 4))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 2);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -7227,7 +7227,7 @@ code = '''
|
||||
LFS3_TAG_DATA, +1,
|
||||
"\xcc\xcc\xcc\xcc", 4))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 2);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -7287,7 +7287,7 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xbb\xbb", 2))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 1);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -7335,7 +7335,7 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xbb\xbb", 2))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 1);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -7389,7 +7389,7 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xcc\xcc", 2))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 2, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 2);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -7459,7 +7459,7 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xcc\xcc", 2))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 2);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -7529,7 +7529,7 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xcc\xcc", 2))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 2);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -7668,7 +7668,7 @@ code = '''
|
||||
"\xee\xee", 2))) => 0;
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 2);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -8018,7 +8018,7 @@ code = '''
|
||||
"\xee\xee\xee\xee", 4))) => 0;
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 2);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -8364,7 +8364,7 @@ code = '''
|
||||
"\xee\xee", 2))) => 0;
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 2);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -8797,7 +8797,7 @@ code = '''
|
||||
"\xee\xee\xee\xee", 4))) => 0;
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 2);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -9214,7 +9214,7 @@ code = '''
|
||||
"\xaa\xaa", 2))) => 0;
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 2);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -9632,7 +9632,7 @@ code = '''
|
||||
"\xcc\xcc", 2))) => 0;
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 2);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -10018,7 +10018,7 @@ code = '''
|
||||
"\xcc\xcc\xcc\xcc", 4))) => 0;
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 2);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -10447,7 +10447,7 @@ code = '''
|
||||
"\xaa\xaa", 2))) => 0;
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 2);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -10986,7 +10986,7 @@ code = '''
|
||||
"\xee\xee", 2))) => 0;
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 2);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -11477,7 +11477,7 @@ code = '''
|
||||
NULL) => 0;
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
assert(rbyd.weight == N-1);
|
||||
|
||||
lfs3_rbyd_fetch(&lfs3, &rbyd, rbyd.blocks[0], CFG->block_size) => 0;
|
||||
@@ -11649,7 +11649,7 @@ code = '''
|
||||
NULL) => 0;
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
assert(rbyd.weight == N-1);
|
||||
|
||||
lfs3_rbyd_fetch(&lfs3, &rbyd, rbyd.blocks[0], CFG->block_size) => 0;
|
||||
@@ -11845,7 +11845,7 @@ code = '''
|
||||
NULL) => 0;
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
assert(rbyd.weight == N-1);
|
||||
|
||||
// try traversing over the tags
|
||||
@@ -11983,7 +11983,7 @@ code = '''
|
||||
NULL) => 0;
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
assert(rbyd.weight == N-1);
|
||||
|
||||
// try traversing over the tags
|
||||
@@ -12061,7 +12061,7 @@ code = '''
|
||||
LFS3_TAG_DATA, +1,
|
||||
"\xaa\xaa\xaa\xaa", 4))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 0);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -12083,8 +12083,8 @@ code = '''
|
||||
LFS3_TAG_DATA, +1,
|
||||
"\xbb\xbb\xbb\xbb", 4))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1),
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1),
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 0);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -12106,9 +12106,9 @@ code = '''
|
||||
LFS3_TAG_DATA, +1,
|
||||
"\xbb\xbb\xbb\xbb", 4))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 0);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -12133,9 +12133,9 @@ code = '''
|
||||
LFS3_TAG_DATA, +1,
|
||||
"\xcc\xcc\xcc\xcc", 4))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 2, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1),
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1),
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1),
|
||||
LFS3_RATTR(LFS3_tag_RM, -1),
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 0);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -12160,11 +12160,11 @@ code = '''
|
||||
LFS3_TAG_DATA, +1,
|
||||
"\xcc\xcc\xcc\xcc", 4))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 0);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -12204,7 +12204,7 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xaa\xaa", 2))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 0);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -12232,8 +12232,8 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xbb\xbb", 2))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1),
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1),
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 0);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -12261,9 +12261,9 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xbb\xbb", 2))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 0);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -12297,9 +12297,9 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xcc\xcc", 2))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 2, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1),
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1),
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1),
|
||||
LFS3_RATTR(LFS3_tag_RM, -1),
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 0);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -12333,11 +12333,11 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xcc\xcc", 2))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
|
||||
assert(rbyd.weight == 0);
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, 0, LFS3_TAG_DATA,
|
||||
@@ -12444,7 +12444,7 @@ code = '''
|
||||
|
||||
lfs3_size_t rbyd_weight_before = rbyd.weight;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, rid, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
assert(rbyd.weight == rbyd_weight_before-1);
|
||||
}
|
||||
|
||||
@@ -12598,7 +12598,7 @@ code = '''
|
||||
|
||||
lfs3_size_t rbyd_weight_before = rbyd.weight;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, rid, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
assert(rbyd.weight == rbyd_weight_before-1);
|
||||
}
|
||||
|
||||
@@ -12739,7 +12739,7 @@ code = '''
|
||||
count -= 1;
|
||||
// update our rbyd
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, rid, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13425,7 +13425,7 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xbb\xbb", 2),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_GROW, +1),
|
||||
LFS3_tag_GROW, +1),
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_ATTR(2), 0,
|
||||
"\xbb\xbb", 2))) => 0;
|
||||
@@ -13526,7 +13526,7 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xcc\xcc", 2),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_GROW, +2),
|
||||
LFS3_tag_GROW, +2),
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_ATTR(2), 0,
|
||||
"\xcc\xcc", 2))) => 0;
|
||||
@@ -13663,7 +13663,7 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xdd\xdd", 2),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_GROW, +3),
|
||||
LFS3_tag_GROW, +3),
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_ATTR(2), 0,
|
||||
"\xdd\xdd", 2))) => 0;
|
||||
@@ -13836,7 +13836,7 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xee\xee", 2),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_GROW, +4),
|
||||
LFS3_tag_GROW, +4),
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_ATTR(2), 0,
|
||||
"\xee\xee", 2))) => 0;
|
||||
@@ -14080,7 +14080,7 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xbb\xbb", 2),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_GROW, +1),
|
||||
LFS3_tag_GROW, +1),
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_ATTR(2), 0,
|
||||
"\xbb\xbb", 2),
|
||||
@@ -14092,7 +14092,7 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xcc\xcc", 2),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_GROW, +2),
|
||||
LFS3_tag_GROW, +2),
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_ATTR(2), 0,
|
||||
"\xcc\xcc", 2),
|
||||
@@ -14104,7 +14104,7 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xdd\xdd", 2),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_GROW, +3),
|
||||
LFS3_tag_GROW, +3),
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_ATTR(2), 0,
|
||||
"\xdd\xdd", 2),
|
||||
@@ -14116,7 +14116,7 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xee\xee", 2),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_GROW, +4),
|
||||
LFS3_tag_GROW, +4),
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_ATTR(2), 0,
|
||||
"\xee\xee", 2))) => 0;
|
||||
@@ -14402,7 +14402,7 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
names[perm[j] % 6], 2),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_GROW, +W-1),
|
||||
LFS3_tag_GROW, +W-1),
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_ATTR(2), 0,
|
||||
names[perm[j] % 6], 2))) => 0;
|
||||
@@ -14524,7 +14524,7 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
names[perm[j] % 6], 2),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_GROW, +W-1),
|
||||
LFS3_tag_GROW, +W-1),
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_ATTR(2), 0,
|
||||
names[perm[j] % 6], 2))) => 0;
|
||||
@@ -14670,7 +14670,7 @@ code = '''
|
||||
NULL) => 0;
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j*W+W-1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_GROW, +D))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_GROW, +D))) => 0;
|
||||
assert(rbyd.weight == N*W+D);
|
||||
|
||||
lfs3_rbyd_fetch(&lfs3, &rbyd, rbyd.blocks[0], CFG->block_size) => 0;
|
||||
@@ -14807,7 +14807,7 @@ code = '''
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j*W+W-1, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_GROW | LFS3_TAG_DATA, +D,
|
||||
LFS3_tag_GROW | LFS3_TAG_DATA, +D,
|
||||
names[j % 6], 6))) => 0;
|
||||
assert(rbyd.weight == N*W+D);
|
||||
|
||||
@@ -14957,7 +14957,7 @@ code = '''
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j*W+W-1, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_GROW | LFS3_TAG_ATTR(1), +D,
|
||||
LFS3_tag_GROW | LFS3_TAG_ATTR(1), +D,
|
||||
names[j % 6], 6))) => 0;
|
||||
assert(rbyd.weight == N*W+D);
|
||||
|
||||
@@ -15117,7 +15117,7 @@ code = '''
|
||||
NULL) => 0;
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j*W+W-1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_GROW, -D))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_GROW, -D))) => 0;
|
||||
assert(rbyd.weight == N*W-D);
|
||||
|
||||
lfs3_rbyd_fetch(&lfs3, &rbyd, rbyd.blocks[0], CFG->block_size) => 0;
|
||||
@@ -15254,7 +15254,7 @@ code = '''
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j*W+W-1, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_GROW | LFS3_TAG_DATA, -D,
|
||||
LFS3_tag_GROW | LFS3_TAG_DATA, -D,
|
||||
names[j % 6], 6))) => 0;
|
||||
assert(rbyd.weight == N*W-D);
|
||||
|
||||
@@ -15404,7 +15404,7 @@ code = '''
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j*W+W-1, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_GROW | LFS3_TAG_ATTR(1), -D,
|
||||
LFS3_tag_GROW | LFS3_TAG_ATTR(1), -D,
|
||||
names[j % 6], 6))) => 0;
|
||||
assert(rbyd.weight == N*W-D);
|
||||
|
||||
@@ -15563,7 +15563,7 @@ code = '''
|
||||
NULL) => 0;
|
||||
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j*W+W-1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -W))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -W))) => 0;
|
||||
assert(rbyd.weight == (N-1)*W);
|
||||
|
||||
lfs3_rbyd_fetch(&lfs3, &rbyd, rbyd.blocks[0], CFG->block_size) => 0;
|
||||
@@ -15772,7 +15772,7 @@ code = '''
|
||||
printf("--- removing: %d ---\n", j);
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j*W+W-1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(1), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(1), 0))) => 0;
|
||||
assert(rbyd.weight == N*W);
|
||||
|
||||
lfs3_rbyd_fetch(&lfs3, &rbyd, rbyd.blocks[0], CFG->block_size) => 0;
|
||||
@@ -15926,7 +15926,7 @@ code = '''
|
||||
count -= 1;
|
||||
// update our rbyd
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, rid, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
} else if (op == 2) {
|
||||
// update our sim
|
||||
sim[rid*(M+1) + u+1] = 'a'+(i % 26);
|
||||
@@ -15942,7 +15942,7 @@ code = '''
|
||||
// update our rbyd
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, rid, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(u), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(u), 0))) => 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16105,7 +16105,7 @@ code = '''
|
||||
count -= 1;
|
||||
// update our rbyd
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, weighted_rid+weight_-1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -weight_))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -weight_))) => 0;
|
||||
} else if (op == 2) {
|
||||
// get the correct weight from the sim
|
||||
weight_ = sim_weights[rid];
|
||||
@@ -16113,7 +16113,7 @@ code = '''
|
||||
sim_weights[rid] += weight;
|
||||
// update our rbyd
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, weighted_rid+weight_-1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_GROW, +weight))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_GROW, +weight))) => 0;
|
||||
} else if (op == 3) {
|
||||
// get the correct weight from the sim
|
||||
weight_ = sim_weights[rid];
|
||||
@@ -16124,7 +16124,7 @@ code = '''
|
||||
sim_weights[rid] -= weight;
|
||||
// update our rbyd
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, weighted_rid+weight_-1, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_GROW, -weight))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_GROW, -weight))) => 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16276,7 +16276,7 @@ code = '''
|
||||
lfs3_stag_t tag_;
|
||||
lfs3_data_t data_;
|
||||
tag_ = lfs3_rbyd_lookup(&lfs3, &rbyd,
|
||||
j, LFS3_TAG_MASK8 | LFS3_TAG_ATTR,
|
||||
j, LFS3_tag_MASK8 | LFS3_TAG_ATTR,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_ATTR((j + SHIFT) & 0x7f));
|
||||
assert(lfs3_data_size(data_) == 2);
|
||||
@@ -16380,7 +16380,7 @@ code = '''
|
||||
// remove with a wide tag
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_MASK8 | LFS3_TAG_ATTR, 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_tag_MASK8 | LFS3_TAG_ATTR, 0))) => 0;
|
||||
|
||||
// try traversing over the tags
|
||||
lfs3_rbyd_fetch(&lfs3, &rbyd, rbyd.blocks[0], CFG->block_size) => 0;
|
||||
@@ -16412,11 +16412,11 @@ code = '''
|
||||
for (unsigned k = 0; k < N; k++) {
|
||||
if (k == j) {
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, k,
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_ATTR,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_ATTR,
|
||||
&data_) => LFS3_ERR_NOENT;
|
||||
} else {
|
||||
tag_ = lfs3_rbyd_lookup(&lfs3, &rbyd, k,
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_ATTR,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_ATTR,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_ATTR((k + SHIFT) & 0x7f));
|
||||
assert(lfs3_data_size(data_) == 2);
|
||||
@@ -16525,7 +16525,7 @@ code = '''
|
||||
// replace with bitwise inverse
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_ATTR(~(j + SHIFT) & 0x7f),
|
||||
LFS3_tag_MASK8 | LFS3_TAG_ATTR(~(j + SHIFT) & 0x7f),
|
||||
0,
|
||||
names[j % 6], 3))) => 0;
|
||||
|
||||
@@ -16563,7 +16563,7 @@ code = '''
|
||||
// also test that we can lookup each tag with a wide lookup
|
||||
for (unsigned k = 0; k < N; k++) {
|
||||
tag_ = lfs3_rbyd_lookup(&lfs3, &rbyd, k,
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_ATTR,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_ATTR,
|
||||
&data_);
|
||||
if (k == j) {
|
||||
assert(tag_ == LFS3_TAG_ATTR(~(k + SHIFT) & 0x7f));
|
||||
@@ -16661,7 +16661,7 @@ code = '''
|
||||
lfs3_stag_t tag_;
|
||||
lfs3_data_t data_;
|
||||
tag_ = lfs3_rbyd_lookup(&lfs3, &rbyd,
|
||||
j, LFS3_TAG_MASK8 | LFS3_TAG_ATTR,
|
||||
j, LFS3_tag_MASK8 | LFS3_TAG_ATTR,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_ATTR(0x7f & (j + SHIFT)));
|
||||
assert(lfs3_data_size(data_) == 2);
|
||||
@@ -16768,7 +16768,7 @@ code = '''
|
||||
// remove with a wide tag
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_MASK8 | LFS3_TAG_ATTR, 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_tag_MASK8 | LFS3_TAG_ATTR, 0))) => 0;
|
||||
|
||||
// try traversing over the tags
|
||||
lfs3_rbyd_fetch(&lfs3, &rbyd, rbyd.blocks[0], CFG->block_size) => 0;
|
||||
@@ -16807,11 +16807,11 @@ code = '''
|
||||
for (unsigned k = 0; k < N; k++) {
|
||||
if (k == j) {
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, k,
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_ATTR,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_ATTR,
|
||||
&data_) => LFS3_ERR_NOENT;
|
||||
} else {
|
||||
tag_ = lfs3_rbyd_lookup(&lfs3, &rbyd, k,
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_ATTR,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_ATTR,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_ATTR((k + SHIFT) & 0x7f));
|
||||
assert(lfs3_data_size(data_) == 2);
|
||||
@@ -16923,7 +16923,7 @@ code = '''
|
||||
// replace with bitwise inverse
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_ATTR(~(j + SHIFT) & 0x7f),
|
||||
LFS3_tag_MASK8 | LFS3_TAG_ATTR(~(j + SHIFT) & 0x7f),
|
||||
0,
|
||||
names[j % 6], 3))) => 0;
|
||||
|
||||
@@ -16968,7 +16968,7 @@ code = '''
|
||||
// also test that we can lookup each tag with a wide lookup
|
||||
for (unsigned k = 0; k < N; k++) {
|
||||
tag_ = lfs3_rbyd_lookup(&lfs3, &rbyd, k,
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_ATTR,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_ATTR,
|
||||
&data_);
|
||||
if (k == j) {
|
||||
assert(tag_ == LFS3_TAG_ATTR(~(k + SHIFT) & 0x7f));
|
||||
@@ -17060,7 +17060,7 @@ code = '''
|
||||
lfs3_stag_t tag_;
|
||||
lfs3_data_t data_;
|
||||
tag_ = lfs3_rbyd_lookup(&lfs3, &rbyd,
|
||||
j, LFS3_TAG_MASK8 | LFS3_TAG_ATTR,
|
||||
j, LFS3_tag_MASK8 | LFS3_TAG_ATTR,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_ATTR((j + SHIFT) & 0x7f));
|
||||
assert(lfs3_data_size(data_) == 4);
|
||||
@@ -17161,7 +17161,7 @@ code = '''
|
||||
// remove with a wide tag
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_MASK8 | LFS3_TAG_ATTR, 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_tag_MASK8 | LFS3_TAG_ATTR, 0))) => 0;
|
||||
|
||||
// try traversing over the tags
|
||||
lfs3_rbyd_fetch(&lfs3, &rbyd, rbyd.blocks[0], CFG->block_size) => 0;
|
||||
@@ -17196,11 +17196,11 @@ code = '''
|
||||
for (unsigned k = 0; k < N; k++) {
|
||||
if (k == j) {
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, k,
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_ATTR,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_ATTR,
|
||||
&data_) => LFS3_ERR_NOENT;
|
||||
} else {
|
||||
tag_ = lfs3_rbyd_lookup(&lfs3, &rbyd, k,
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_ATTR,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_ATTR,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_ATTR((k + SHIFT) & 0x7f));
|
||||
assert(lfs3_data_size(data_) == 4);
|
||||
@@ -17306,7 +17306,7 @@ code = '''
|
||||
// replace with bitwise inverse
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_ATTR(~(j + SHIFT) & 0x7f),
|
||||
LFS3_tag_MASK8 | LFS3_TAG_ATTR(~(j + SHIFT) & 0x7f),
|
||||
0,
|
||||
names[j % 6], 6))) => 0;
|
||||
|
||||
@@ -17337,7 +17337,7 @@ code = '''
|
||||
// also test that we can lookup each tag with a wide lookup
|
||||
for (unsigned k = 0; k < N; k++) {
|
||||
tag_ = lfs3_rbyd_lookup(&lfs3, &rbyd, k,
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_ATTR,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_ATTR,
|
||||
&data_);
|
||||
if (k == j) {
|
||||
assert(tag_ == LFS3_TAG_ATTR(~(k + SHIFT) & 0x7f));
|
||||
@@ -17432,7 +17432,7 @@ code = '''
|
||||
for (unsigned j = 0; j < N; j++) {
|
||||
lfs3_stag_t tag_;
|
||||
lfs3_data_t data_;
|
||||
tag_ = lfs3_rbyd_lookup(&lfs3, &rbyd, j, LFS3_TAG_MASK12,
|
||||
tag_ = lfs3_rbyd_lookup(&lfs3, &rbyd, j, LFS3_tag_MASK12,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_DATA);
|
||||
assert(lfs3_data_size(data_) == 4);
|
||||
@@ -17536,7 +17536,7 @@ code = '''
|
||||
// remove with a wide tag
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_MASK12 | LFS3_TAG_ATTR,
|
||||
LFS3_tag_RM | LFS3_tag_MASK12 | LFS3_TAG_ATTR,
|
||||
0))) => 0;
|
||||
|
||||
// try traversing over the tags
|
||||
@@ -17569,11 +17569,11 @@ code = '''
|
||||
for (unsigned k = 0; k < N; k++) {
|
||||
if (k == j) {
|
||||
lfs3_rbyd_lookup(&lfs3, &rbyd, k,
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_ATTR,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_ATTR,
|
||||
&data_) => LFS3_ERR_NOENT;
|
||||
} else {
|
||||
tag_ = lfs3_rbyd_lookup(&lfs3, &rbyd, k,
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_ATTR,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_ATTR,
|
||||
&data_);
|
||||
assert(tag_ == LFS3_TAG_ATTR((k + SHIFT) & 0x7f));
|
||||
assert(lfs3_data_size(data_) == 2);
|
||||
@@ -17682,7 +17682,7 @@ code = '''
|
||||
// replace with bitwise inverse
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, j, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK12 | LFS3_TAG_ATTR(~(j + SHIFT) & 0x7f),
|
||||
LFS3_tag_MASK12 | LFS3_TAG_ATTR(~(j + SHIFT) & 0x7f),
|
||||
0,
|
||||
names[j % 6], 3))) => 0;
|
||||
|
||||
@@ -17723,7 +17723,7 @@ code = '''
|
||||
// also test that we can lookup each tag with a wide lookup
|
||||
for (unsigned k = 0; k < N; k++) {
|
||||
tag_ = lfs3_rbyd_lookup(&lfs3, &rbyd, k,
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_ATTR,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_ATTR,
|
||||
&data_);
|
||||
if (k == j) {
|
||||
assert(tag_ == LFS3_TAG_ATTR(~(k + SHIFT) & 0x7f));
|
||||
@@ -17772,7 +17772,7 @@ code = '''
|
||||
LFS3_TAG_ATTR(1), 0,
|
||||
"\xbb\xbb\xbb\xbb", 4),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(0), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(0), 0))) => 0;
|
||||
assert(rbyd.weight == 0);
|
||||
|
||||
// can we still access things?
|
||||
@@ -17823,13 +17823,13 @@ code = '''
|
||||
LFS3_TAG_ATTR(2), 0,
|
||||
"\xcc\xcc\xcc\xcc", 4),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(0), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(0), 0))) => 0;
|
||||
assert(rbyd.weight == 0);
|
||||
|
||||
// remove a neighbor to the hole
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(1), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(1), 0))) => 0;
|
||||
assert(rbyd.weight == 0);
|
||||
|
||||
// can we still access things?
|
||||
@@ -17881,12 +17881,12 @@ code = '''
|
||||
"\xcc\xcc\xcc\xcc", 4))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(0), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(0), 0))) => 0;
|
||||
assert(rbyd.weight == 2);
|
||||
|
||||
// delete a neighbor to the hole
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(LFS3_TAG_RM, -1))) => 0;
|
||||
LFS3_RATTR(LFS3_tag_RM, -1))) => 0;
|
||||
assert(rbyd.weight == 1);
|
||||
|
||||
// can we still access things?
|
||||
@@ -17937,13 +17937,13 @@ code = '''
|
||||
LFS3_TAG_ATTR(0x80), 0,
|
||||
"\xdd\xdd\xdd\xdd", 4),
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(0), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(0), 0))) => 0;
|
||||
assert(rbyd.weight == 0);
|
||||
|
||||
// subwide replace a neighbor to the hole
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK8 | LFS3_TAG_ATTR(0x02), 0,
|
||||
LFS3_tag_MASK8 | LFS3_TAG_ATTR(0x02), 0,
|
||||
"\xcc\xcc\xcc\xcc", 4))) => 0;
|
||||
assert(rbyd.weight == 0);
|
||||
|
||||
@@ -18005,13 +18005,13 @@ code = '''
|
||||
"\xdd\xdd\xdd\xdd", 4))) => 0;
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR(
|
||||
LFS3_TAG_RM | LFS3_TAG_ATTR(0), 0))) => 0;
|
||||
LFS3_tag_RM | LFS3_TAG_ATTR(0), 0))) => 0;
|
||||
assert(rbyd.weight == 1);
|
||||
|
||||
// supwide replace a neighbor to the hole
|
||||
lfs3_rbyd_commit(&lfs3, &rbyd, -1, LFS3_RATTRS(
|
||||
LFS3_RATTR_BUF(
|
||||
LFS3_TAG_MASK12 | LFS3_TAG_ATTR(2), 0,
|
||||
LFS3_tag_MASK12 | LFS3_TAG_ATTR(2), 0,
|
||||
"\xcc\xcc\xcc\xcc", 4))) => 0;
|
||||
assert(rbyd.weight == 1);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user