Reintroduced LFSR_RATTR_BUF
Mainly just for self-documentation reasons. This may also make it easier to add LFSR_RATTR_BUF-specific asserts/ tweaks/etc, and helps future refactoring. But functionally LFSR_RATTR_BUF is equivalent to LFSR_RATTR for now. No code changes.
This commit is contained in:
@@ -2111,6 +2111,13 @@ typedef struct lfsr_rattr {
|
||||
.weight=_weight, \
|
||||
.u.etc=_etc})
|
||||
|
||||
#define LFSR_RATTR_BUF(_tag, _weight, _buffer, _size) \
|
||||
((lfsr_rattr_t){ \
|
||||
.tag=_tag, \
|
||||
.data_count=(uint16_t){_size}, \
|
||||
.weight=_weight, \
|
||||
.u.buffer=(const void*)(_buffer)})
|
||||
|
||||
#define LFSR_RATTR_DATA(_tag, _weight, _data) \
|
||||
((lfsr_rattr_t){ \
|
||||
.tag=_tag, \
|
||||
@@ -5724,12 +5731,12 @@ static int lfsr_btree_commit__(lfs_t *lfs, lfsr_btree_t *btree,
|
||||
if (!lfsr_rbyd_trunk(&parent)) {
|
||||
lfsr_data_t branch_l = lfsr_data_frombranch(
|
||||
&rbyd__, &bctx->buf[0*LFSR_BRANCH_DSIZE]);
|
||||
bctx->rattrs[rattr_count_++] = LFSR_RATTR(
|
||||
bctx->rattrs[rattr_count_++] = LFSR_RATTR_BUF(
|
||||
LFSR_TAG_BRANCH, +rbyd__.weight,
|
||||
branch_l.u.buffer, lfsr_data_size(branch_l));
|
||||
lfsr_data_t branch_r = lfsr_data_frombranch(
|
||||
&sibling, &bctx->buf[1*LFSR_BRANCH_DSIZE]);
|
||||
bctx->rattrs[rattr_count_++] = LFSR_RATTR(
|
||||
bctx->rattrs[rattr_count_++] = LFSR_RATTR_BUF(
|
||||
LFSR_TAG_BRANCH, +sibling.weight,
|
||||
branch_r.u.buffer, lfsr_data_size(branch_r));
|
||||
if (lfsr_tag_suptype(split_tag) == LFSR_TAG_NAME) {
|
||||
@@ -5742,7 +5749,7 @@ static int lfsr_btree_commit__(lfs_t *lfs, lfsr_btree_t *btree,
|
||||
bid_ -= pid - (rbyd_.weight-1);
|
||||
lfsr_data_t branch_l = lfsr_data_frombranch(
|
||||
&rbyd__, &bctx->buf[0*LFSR_BRANCH_DSIZE]);
|
||||
bctx->rattrs[rattr_count_++] = LFSR_RATTR(
|
||||
bctx->rattrs[rattr_count_++] = LFSR_RATTR_BUF(
|
||||
LFSR_TAG_BRANCH, 0,
|
||||
branch_l.u.buffer, lfsr_data_size(branch_l));
|
||||
if (rbyd__.weight != rbyd_.weight) {
|
||||
@@ -5752,7 +5759,7 @@ static int lfsr_btree_commit__(lfs_t *lfs, lfsr_btree_t *btree,
|
||||
}
|
||||
lfsr_data_t branch_r = lfsr_data_frombranch(
|
||||
&sibling, &bctx->buf[1*LFSR_BRANCH_DSIZE]);
|
||||
bctx->rattrs[rattr_count_++] = LFSR_RATTR(
|
||||
bctx->rattrs[rattr_count_++] = LFSR_RATTR_BUF(
|
||||
LFSR_TAG_BRANCH, +sibling.weight,
|
||||
branch_r.u.buffer, lfsr_data_size(branch_r));
|
||||
if (lfsr_tag_suptype(split_tag) == LFSR_TAG_NAME) {
|
||||
@@ -5838,7 +5845,7 @@ static int lfsr_btree_commit__(lfs_t *lfs, lfsr_btree_t *btree,
|
||||
LFSR_TAG_RM, -sibling.weight, NULL, 0);
|
||||
lfsr_data_t branch = lfsr_data_frombranch(
|
||||
&rbyd__, &bctx->buf[0*LFSR_BRANCH_DSIZE]);
|
||||
bctx->rattrs[rattr_count_++] = LFSR_RATTR(
|
||||
bctx->rattrs[rattr_count_++] = LFSR_RATTR_BUF(
|
||||
LFSR_TAG_BRANCH, 0,
|
||||
branch.u.buffer, lfsr_data_size(branch));
|
||||
if (rbyd__.weight != rbyd_.weight) {
|
||||
@@ -5880,7 +5887,7 @@ static int lfsr_btree_commit__(lfs_t *lfs, lfsr_btree_t *btree,
|
||||
} else {
|
||||
lfsr_data_t branch = lfsr_data_frombranch(
|
||||
&rbyd__, &bctx->buf[0*LFSR_BRANCH_DSIZE]);
|
||||
bctx->rattrs[rattr_count_++] = LFSR_RATTR(
|
||||
bctx->rattrs[rattr_count_++] = LFSR_RATTR_BUF(
|
||||
LFSR_TAG_BRANCH, 0,
|
||||
branch.u.buffer, lfsr_data_size(branch));
|
||||
if (rbyd__.weight != rbyd_.weight) {
|
||||
@@ -7059,7 +7066,7 @@ static int lfsr_rbyd_appendgdelta(lfs_t *lfs, lfsr_rbyd_t *rbyd) {
|
||||
|
||||
// append to our rbyd, replacing any existing delta
|
||||
lfs_size_t size = lfs_memlen(grmdelta_, LFSR_GRM_DSIZE);
|
||||
err = lfsr_rbyd_appendrattr(lfs, rbyd, -1, LFSR_RATTR(
|
||||
err = lfsr_rbyd_appendrattr(lfs, rbyd, -1, LFSR_RATTR_BUF(
|
||||
// opportunistically remove this tag if delta is all zero
|
||||
(size == 0)
|
||||
? LFSR_TAG_RM | LFSR_TAG_GRMDELTA
|
||||
@@ -7670,7 +7677,7 @@ static int lfsr_mdir_commit__(lfs_t *lfs, lfsr_mdir_t *mdir,
|
||||
LFSR_TAG_RM
|
||||
| LFSR_TAG_ATTR(attrs_[j].type), 0,
|
||||
NULL, 0)
|
||||
: LFSR_RATTR(
|
||||
: LFSR_RATTR_BUF(
|
||||
LFSR_TAG_ATTR(attrs_[j].type), 0,
|
||||
attrs_[j].buffer,
|
||||
lfsr_attr_size(&attrs_[j])));
|
||||
@@ -8619,7 +8626,7 @@ static int lfsr_mdir_commit(lfs_t *lfs, lfsr_mdir_t *mdir,
|
||||
|
||||
err = lfsr_mdir_commit__(lfs, &mrootanchor_, -2, -1,
|
||||
-1, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_MAGIC, 0,
|
||||
"littlefs", 8),
|
||||
LFSR_RATTR(
|
||||
@@ -10741,7 +10748,7 @@ int lfsr_setattr(lfs_t *lfs, const char *path, uint8_t type,
|
||||
// commit our attr
|
||||
lfs_alloc_ckpoint(lfs);
|
||||
err = lfsr_mdir_commit(lfs, &mdir, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_ATTR(type), 0,
|
||||
buffer, size)));
|
||||
if (err) {
|
||||
@@ -13802,10 +13809,10 @@ static int lfsr_formatinited(lfs_t *lfs) {
|
||||
// - any format-time configuration
|
||||
// - the root's bookmark tag, which reserves did = 0 for the root
|
||||
err = lfsr_rbyd_appendrattrs(lfs, &rbyd, -1, -1, -1, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_MAGIC, 0,
|
||||
"littlefs", 8),
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_VERSION, 0,
|
||||
((const uint8_t[2]){
|
||||
LFS_DISK_VERSION_MAJOR,
|
||||
|
||||
@@ -76,7 +76,7 @@ code = '''
|
||||
|
||||
// add to btree
|
||||
lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +1,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
|
||||
@@ -1851,7 +1851,7 @@ code = '''
|
||||
|
||||
// add to btree
|
||||
lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +1,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
|
||||
@@ -3626,7 +3626,7 @@ code = '''
|
||||
|
||||
// add to btree
|
||||
lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +1,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
|
||||
|
||||
+125
-125
@@ -55,7 +55,7 @@ code = '''
|
||||
lfsr_btree_t btree;
|
||||
lfsr_btree_init(&btree);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.weight,
|
||||
btree.blocks[0],
|
||||
@@ -97,9 +97,9 @@ code = '''
|
||||
lfsr_btree_t btree;
|
||||
lfsr_btree_init(&btree);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "b", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "b", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.weight,
|
||||
btree.blocks[0],
|
||||
@@ -147,9 +147,9 @@ code = '''
|
||||
lfsr_btree_t btree;
|
||||
lfsr_btree_init(&btree);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "b", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "b", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.weight,
|
||||
btree.blocks[0],
|
||||
@@ -198,11 +198,11 @@ code = '''
|
||||
lfsr_btree_t btree;
|
||||
lfsr_btree_init(&btree);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "b", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "b", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 2, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "c", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.weight,
|
||||
btree.blocks[0],
|
||||
@@ -257,11 +257,11 @@ code = '''
|
||||
lfsr_btree_t btree;
|
||||
lfsr_btree_init(&btree);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "c", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "b", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "b", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.weight,
|
||||
btree.blocks[0],
|
||||
@@ -321,7 +321,7 @@ code = '''
|
||||
lfs_size_t n = 0;
|
||||
for (lfs_size_t i = 0; i < N; i++) {
|
||||
lfsr_btree_commit(&lfs, &btree, i, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +1,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
n += 1;
|
||||
@@ -372,7 +372,7 @@ code = '''
|
||||
lfs_size_t n = 0;
|
||||
for (lfs_size_t i = 0; i < N; i++) {
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +1,
|
||||
&(uint8_t){'a'+((N-1-i) % 26)}, 1))) => 0;
|
||||
n += 1;
|
||||
@@ -438,7 +438,7 @@ code = '''
|
||||
|
||||
// add to btree
|
||||
lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +1,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
|
||||
@@ -508,7 +508,7 @@ code = '''
|
||||
lfs_size_t n = 0;
|
||||
for (lfs_size_t i = 0; i < N; i++) {
|
||||
lfsr_btree_commit(&lfs, &btree, i*W, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +W,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
n += 1;
|
||||
@@ -600,7 +600,7 @@ code = '''
|
||||
|
||||
// add to btree
|
||||
lfsr_btree_commit(&lfs, &btree, weighted_bid, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +weight,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
|
||||
@@ -711,10 +711,10 @@ code = '''
|
||||
lfsr_btree_t btree;
|
||||
lfsr_btree_init(&btree);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
// update the tree
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
"A", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
@@ -757,16 +757,16 @@ code = '''
|
||||
lfsr_btree_t btree;
|
||||
lfsr_btree_init(&btree);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "b", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "b", 1))) => 0;
|
||||
// update the tree
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
"A", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
"B", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
@@ -816,22 +816,22 @@ code = '''
|
||||
lfsr_btree_t btree;
|
||||
lfsr_btree_init(&btree);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "b", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "b", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 2, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "c", 1))) => 0;
|
||||
// update the tree
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
"A", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
"B", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 2, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
"C", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
@@ -890,14 +890,14 @@ code = '''
|
||||
lfsr_btree_init(&btree);
|
||||
for (lfs_size_t i = 0; i < N; i++) {
|
||||
lfsr_btree_commit(&lfs, &btree, i, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +1,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
}
|
||||
// update the tree
|
||||
for (lfs_size_t i = 0; i < N; i++) {
|
||||
lfsr_btree_commit(&lfs, &btree, i, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'A'+(i % 26)}, 1))) => 0;
|
||||
}
|
||||
@@ -948,7 +948,7 @@ code = '''
|
||||
lfsr_btree_init(&btree);
|
||||
for (lfs_size_t i = 0; i < N; i++) {
|
||||
lfsr_btree_commit(&lfs, &btree, i, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +1,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
}
|
||||
@@ -969,7 +969,7 @@ code = '''
|
||||
|
||||
// update btree
|
||||
lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'A'+(i % 26)}, 1))) => 0;
|
||||
|
||||
@@ -1035,14 +1035,14 @@ code = '''
|
||||
lfsr_btree_init(&btree);
|
||||
for (lfs_size_t i = 0; i < N; i++) {
|
||||
lfsr_btree_commit(&lfs, &btree, i*W, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +W,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
}
|
||||
// update the tree
|
||||
for (lfs_size_t i = 0; i < N; i++) {
|
||||
lfsr_btree_commit(&lfs, &btree, i*W+W-1, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'A'+(i % 26)}, 1))) => 0;
|
||||
}
|
||||
@@ -1109,7 +1109,7 @@ code = '''
|
||||
lfsr_btree_init(&btree);
|
||||
for (lfs_size_t i = 0; i < N; i++) {
|
||||
lfsr_btree_commit(&lfs, &btree, i*W, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +W,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
}
|
||||
@@ -1141,7 +1141,7 @@ code = '''
|
||||
// update btree
|
||||
lfsr_btree_commit(&lfs, &btree,
|
||||
weighted_bid+sim_weights[bid]-1, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'A'+(i % 26)}, 1),
|
||||
LFSR_RATTR(
|
||||
@@ -1252,7 +1252,7 @@ code = '''
|
||||
lfsr_btree_t btree;
|
||||
lfsr_btree_init(&btree);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
// pop!
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_RM, -1, NULL, 0))) => 0;
|
||||
@@ -1273,7 +1273,7 @@ code = '''
|
||||
|
||||
// try to putting it back to see if things still work
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "A", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "A", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.weight,
|
||||
btree.blocks[0],
|
||||
@@ -1309,9 +1309,9 @@ code = '''
|
||||
lfsr_btree_t btree;
|
||||
lfsr_btree_init(&btree);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "b", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "b", 1))) => 0;
|
||||
// pop!
|
||||
lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_RM, -1, NULL, 0))) => 0;
|
||||
@@ -1339,7 +1339,7 @@ code = '''
|
||||
|
||||
// try to putting it back to see if things still work
|
||||
lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "B", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "B", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.weight,
|
||||
btree.blocks[0],
|
||||
@@ -1382,9 +1382,9 @@ code = '''
|
||||
lfsr_btree_t btree;
|
||||
lfsr_btree_init(&btree);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "b", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "b", 1))) => 0;
|
||||
// pop!
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_RM, -1, NULL, 0))) => 0;
|
||||
@@ -1412,7 +1412,7 @@ code = '''
|
||||
|
||||
// try to putting it back to see if things still work
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "A", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "A", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.weight,
|
||||
btree.blocks[0],
|
||||
@@ -1455,11 +1455,11 @@ code = '''
|
||||
lfsr_btree_t btree;
|
||||
lfsr_btree_init(&btree);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "b", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "b", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 2, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "c", 1))) => 0;
|
||||
// pop!
|
||||
lfsr_btree_commit(&lfs, &btree, 2, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_RM, -1, NULL, 0))) => 0;
|
||||
@@ -1494,7 +1494,7 @@ code = '''
|
||||
|
||||
// try to putting it back to see if things still work
|
||||
lfsr_btree_commit(&lfs, &btree, 2, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "C", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "C", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.weight,
|
||||
btree.blocks[0],
|
||||
@@ -1548,7 +1548,7 @@ code = '''
|
||||
lfsr_btree_init(&btree);
|
||||
for (lfs_size_t i = 0; i < N; i++) {
|
||||
lfsr_btree_commit(&lfs, &btree, i, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +1,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
}
|
||||
@@ -1585,7 +1585,7 @@ code = '''
|
||||
|
||||
// try recovering
|
||||
lfsr_btree_commit(&lfs, &btree, REMAINING, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "R", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "R", 1))) => 0;
|
||||
|
||||
for (lfs_size_t i = 0; i < REMAINING; i++) {
|
||||
lfsr_btree_lookup(&lfs, &btree, i,
|
||||
@@ -1628,7 +1628,7 @@ code = '''
|
||||
lfsr_btree_init(&btree);
|
||||
for (lfs_size_t i = 0; i < N; i++) {
|
||||
lfsr_btree_commit(&lfs, &btree, i, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +1,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
}
|
||||
@@ -1665,7 +1665,7 @@ code = '''
|
||||
|
||||
// try recovering
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "R", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "R", 1))) => 0;
|
||||
|
||||
lfsr_btree_lookup(&lfs, &btree, 0,
|
||||
&tag_, &weight_, &data_) => 0;
|
||||
@@ -1711,7 +1711,7 @@ code = '''
|
||||
lfsr_btree_init(&btree);
|
||||
for (lfs_size_t i = 0; i < N; i++) {
|
||||
lfsr_btree_commit(&lfs, &btree, i, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +1,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
}
|
||||
@@ -1800,7 +1800,7 @@ code = '''
|
||||
lfsr_btree_init(&btree);
|
||||
for (lfs_size_t i = 0; i < N; i++) {
|
||||
lfsr_btree_commit(&lfs, &btree, i*W, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +W,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
}
|
||||
@@ -1836,7 +1836,7 @@ code = '''
|
||||
|
||||
// try recovering
|
||||
lfsr_btree_commit(&lfs, &btree, REMAINING*W, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +W, "R", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +W, "R", 1))) => 0;
|
||||
|
||||
for (lfs_size_t i = 0; i < REMAINING; i++) {
|
||||
lfsr_btree_lookup(&lfs, &btree, i*W+W-1,
|
||||
@@ -1927,7 +1927,7 @@ code = '''
|
||||
}
|
||||
|
||||
lfsr_btree_commit(&lfs, &btree, weighted_bid, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +weight,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
|
||||
@@ -2057,16 +2057,16 @@ code = '''
|
||||
lfsr_btree_t btree;
|
||||
lfsr_btree_init(&btree);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +1,
|
||||
&(uint8_t){'a'+(0 % 26)}, 1))) => 0;
|
||||
lfs_size_t n = 1;
|
||||
for (lfs_size_t i = 1; i < N; i++) {
|
||||
lfsr_btree_commit(&lfs, &btree, i-1, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'a'+((i-1) % 26)}, 1),
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +1,
|
||||
&(uint8_t){'a'+((i-0) % 26)}, 1))) => 0;
|
||||
n += 1;
|
||||
@@ -2117,7 +2117,7 @@ code = '''
|
||||
lfsr_btree_t btree;
|
||||
lfsr_btree_init(&btree);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "_", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "_", 1))) => 0;
|
||||
|
||||
// set up a simulation to compare against
|
||||
//
|
||||
@@ -2135,10 +2135,10 @@ code = '''
|
||||
|
||||
// split btree
|
||||
lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'a'+(i % 26)}, 1),
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +1,
|
||||
&(uint8_t){'A'+(i % 26)}, 1))) => 0;
|
||||
|
||||
@@ -2207,16 +2207,16 @@ code = '''
|
||||
lfsr_btree_t btree;
|
||||
lfsr_btree_init(&btree);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +W,
|
||||
&(uint8_t){'a'+(0 % 26)}, 1))) => 0;
|
||||
lfs_size_t n = 1;
|
||||
for (lfs_size_t i = 1; i < N; i++) {
|
||||
lfsr_btree_commit(&lfs, &btree, (i-1)*W+W-1, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'a'+((i-1) % 26)}, 1),
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +W,
|
||||
&(uint8_t){'a'+((i-0) % 26)}, 1))) => 0;
|
||||
n += 1;
|
||||
@@ -2268,7 +2268,7 @@ code = '''
|
||||
lfsr_btree_t btree;
|
||||
lfsr_btree_init(&btree);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +W, "_", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +W, "_", 1))) => 0;
|
||||
|
||||
// set up a simulation to compare against
|
||||
//
|
||||
@@ -2302,10 +2302,10 @@ code = '''
|
||||
LFSR_RATTR(
|
||||
LFSR_TAG_GROW, +weight1-sim_weights[bid],
|
||||
NULL, 0),
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'a'+(i % 26)}, 1),
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +weight2,
|
||||
&(uint8_t){'A'+(i % 26)}, 1))) => 0;
|
||||
|
||||
@@ -2449,19 +2449,19 @@ code = '''
|
||||
|
||||
// the extra push here avoids trying to inline the big entry
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "_", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "_", 1))) => 0;
|
||||
uint8_t buf1[SIZE];
|
||||
memset(buf1, 'a', SIZE);
|
||||
uint8_t buf2[SIZE];
|
||||
memset(buf2, 'b', SIZE);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, buf1, SIZE),
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, buf2, SIZE))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, buf1, SIZE),
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, buf2, SIZE))) => 0;
|
||||
// force compaction
|
||||
btree.eoff = -1;
|
||||
memset(buf2, 'b', SIZE);
|
||||
lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
buf2, SIZE))) => 0;
|
||||
assert(btree.weight == 2);
|
||||
@@ -2517,19 +2517,19 @@ code = '''
|
||||
|
||||
// the extra push here avoids trying to inline the big entry
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "_", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "_", 1))) => 0;
|
||||
uint8_t buf1[SIZE];
|
||||
memset(buf1, 'a', SIZE);
|
||||
uint8_t buf2[SIZE];
|
||||
memset(buf2, 'b', SIZE);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, buf1, SIZE),
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, buf2, SIZE))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, buf1, SIZE),
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, buf2, SIZE))) => 0;
|
||||
// force compaction
|
||||
btree.eoff = -1;
|
||||
memset(buf2, 'b', SIZE);
|
||||
lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
buf2, SIZE))) => 0;
|
||||
assert(btree.weight == 2);
|
||||
@@ -2588,14 +2588,14 @@ code = '''
|
||||
|
||||
// the extra push here avoids trying to inline the big entry
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "_", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "_", 1))) => 0;
|
||||
uint8_t buf1[SIZE];
|
||||
memset(buf1, 'a', SIZE);
|
||||
uint8_t buf2[SIZE];
|
||||
memset(buf2, 'b', SIZE);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, buf1, SIZE),
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, buf2, SIZE))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, buf1, SIZE),
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, buf2, SIZE))) => 0;
|
||||
|
||||
// force compaction, causing a split, but while we're splitting,
|
||||
// also remove an entry, bringing the split rbyd down to zero mid split
|
||||
@@ -2652,30 +2652,30 @@ code = '''
|
||||
|
||||
// the extra push here avoids trying to inline the big entry
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "_", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "_", 1))) => 0;
|
||||
uint8_t buf1[SIZE];
|
||||
memset(buf1, 'a', SIZE);
|
||||
uint8_t buf2[SIZE];
|
||||
memset(buf2, 'b', SIZE);
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, buf1, SIZE),
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, buf2, SIZE))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, buf1, SIZE),
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, buf2, SIZE))) => 0;
|
||||
// force compaction
|
||||
btree.eoff = -1;
|
||||
memset(buf2, 'b', SIZE);
|
||||
lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
buf2, SIZE))) => 0;
|
||||
assert(btree.weight == 2);
|
||||
|
||||
// now make both entries small so they should be merged if either compacts
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
"a", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
"b", 1))) => 0;
|
||||
|
||||
@@ -2747,7 +2747,7 @@ code = '''
|
||||
if (op == 0 || bid == sim_size) {
|
||||
// push to btree
|
||||
lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +1,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
|
||||
@@ -2759,7 +2759,7 @@ code = '''
|
||||
} else if (op == 1) {
|
||||
// update btree
|
||||
lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
|
||||
@@ -2864,7 +2864,7 @@ code = '''
|
||||
if (op == 0 || bid == sim_size) {
|
||||
// push to btree
|
||||
lfsr_btree_commit(&lfs, &btree, weighted_bid, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +weight,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
|
||||
@@ -2880,7 +2880,7 @@ code = '''
|
||||
// update btree
|
||||
lfsr_btree_commit(&lfs, &btree,
|
||||
weighted_bid+sim_weights[bid]-1, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'a'+(i % 26)}, 1),
|
||||
LFSR_RATTR(
|
||||
@@ -3040,7 +3040,7 @@ code = '''
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +1,
|
||||
0, "aaa", 3),
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, "0", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "0", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.weight,
|
||||
btree.blocks[0],
|
||||
@@ -3093,13 +3093,13 @@ code = '''
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +1,
|
||||
0, "aaa", 3),
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, "0", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "0", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, "0", 1),
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "0", 1),
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +1,
|
||||
0, "aab", 3),
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, "1", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "1", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.weight,
|
||||
btree.blocks[0],
|
||||
@@ -3160,19 +3160,19 @@ code = '''
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +1,
|
||||
0, "aaa", 3),
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, "0", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "0", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, "0", 1),
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "0", 1),
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +1,
|
||||
1*DID, "aab", 3),
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, "1", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "1", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, "1", 1),
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "1", 1),
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +1,
|
||||
2*DID, "aac", 3),
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, "2", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "2", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.weight,
|
||||
btree.blocks[0],
|
||||
@@ -3241,19 +3241,19 @@ code = '''
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +1,
|
||||
0, "aaa", 3),
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, "0", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "0", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, "1", 1),
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "1", 1),
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +1,
|
||||
2*DID, "aac", 3),
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, "2", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "2", 1))) => 0;
|
||||
lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, "0", 1),
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "0", 1),
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +1,
|
||||
1*DID, "aab", 3),
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, "1", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "1", 1))) => 0;
|
||||
printf("btree: w%d 0x%x.%x\n",
|
||||
btree.weight,
|
||||
btree.blocks[0],
|
||||
@@ -3326,7 +3326,7 @@ code = '''
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +1,
|
||||
0, name, 3),
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+(0 % 10)}, 1))) => 0;
|
||||
lfs_size_t n = 1;
|
||||
@@ -3335,13 +3335,13 @@ code = '''
|
||||
'a'+((i/26/26) % 26), 'a'+((i/26) % 26), 'a'+(i % 26)
|
||||
};
|
||||
lfsr_btree_commit(&lfs, &btree, i-1, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+((i-1) % 10)}, 1),
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +1,
|
||||
i*DID, name, 3),
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+((i-0) % 10)}, 1))) => 0;
|
||||
n += 1;
|
||||
@@ -3397,7 +3397,7 @@ code = '''
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +1,
|
||||
0, "___", 3),
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, "_", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "_", 1))) => 0;
|
||||
|
||||
// set up a simulation to compare against
|
||||
//
|
||||
@@ -3431,13 +3431,13 @@ code = '''
|
||||
|
||||
// split btree
|
||||
lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+(i % 10)}, 1),
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +1,
|
||||
0, name, 3),
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+(i % 10)}, 1))) => 0;
|
||||
|
||||
@@ -3515,7 +3515,7 @@ code = '''
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +W,
|
||||
0, name, 3),
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+(0 % 10)}, 1))) => 0;
|
||||
lfs_size_t n = 1;
|
||||
@@ -3524,13 +3524,13 @@ code = '''
|
||||
'a'+((i/26/26) % 26), 'a'+((i/26) % 26), 'a'+(i % 26)
|
||||
};
|
||||
lfsr_btree_commit(&lfs, &btree, (i-1)*W+W-1, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+((i-1) % 10)}, 1),
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +W,
|
||||
i*DID, name, 3),
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+((i-0) % 10)}, 1))) => 0;
|
||||
n += 1;
|
||||
@@ -3587,7 +3587,7 @@ code = '''
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +W,
|
||||
0, "___", 3),
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, "_", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "_", 1))) => 0;
|
||||
|
||||
// set up a simulation to compare against
|
||||
//
|
||||
@@ -3637,13 +3637,13 @@ code = '''
|
||||
LFSR_RATTR(
|
||||
LFSR_TAG_GROW, +weight1-sim_weights[bid],
|
||||
NULL, 0),
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+(i % 10)}, 1),
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +weight2,
|
||||
0, name, 3),
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+(i % 10)}, 1))) => 0;
|
||||
|
||||
@@ -3744,7 +3744,7 @@ code = '''
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +1,
|
||||
0, "___", 3),
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, "_", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "_", 1))) => 0;
|
||||
|
||||
// set up a simulation to compare against
|
||||
//
|
||||
@@ -3795,7 +3795,7 @@ code = '''
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +1,
|
||||
0, name, 3),
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+(i % 10)}, 1))) => 0;
|
||||
} else {
|
||||
@@ -3806,7 +3806,7 @@ code = '''
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +1,
|
||||
0, name, 3),
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+(i % 10)}, 1))) => 0;
|
||||
}
|
||||
@@ -3821,7 +3821,7 @@ code = '''
|
||||
} else if (op == 1) {
|
||||
// update btree
|
||||
lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+(i % 10)}, 1))) => 0;
|
||||
|
||||
@@ -3901,7 +3901,7 @@ code = '''
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +W,
|
||||
0, "___", 3),
|
||||
LFSR_RATTR(LFSR_TAG_DATA, 0, "_", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "_", 1))) => 0;
|
||||
|
||||
// set up a simulation to compare against
|
||||
//
|
||||
@@ -3964,7 +3964,7 @@ code = '''
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +weight,
|
||||
0, name, 3),
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+(i % 10)}, 1))) => 0;
|
||||
} else {
|
||||
@@ -3975,7 +3975,7 @@ code = '''
|
||||
LFSR_RATTR_NAME(
|
||||
LFSR_TAG_NAME, +weight,
|
||||
0, name, 3),
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+(i % 10)}, 1))) => 0;
|
||||
}
|
||||
@@ -3994,7 +3994,7 @@ code = '''
|
||||
// update btree
|
||||
lfsr_btree_commit(&lfs, &btree,
|
||||
weighted_bid+sim_weights[bid]-1, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_SUB | LFSR_TAG_DATA, 0,
|
||||
&(uint8_t){'0'+(i % 10)}, 1),
|
||||
LFSR_RATTR(
|
||||
@@ -4105,7 +4105,7 @@ code = '''
|
||||
lfs_size_t n = 0;
|
||||
for (lfs_size_t i = 0; i < N; i++) {
|
||||
lfsr_btree_commit(&lfs, &btree, i, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +1,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
n += 1;
|
||||
@@ -4243,7 +4243,7 @@ code = '''
|
||||
|
||||
// add to btree
|
||||
lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_DATA, +1,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
|
||||
|
||||
@@ -1101,7 +1101,7 @@ code = '''
|
||||
.bshrub=&file.b,
|
||||
.rid=0,
|
||||
.rattrs=((lfsr_rattr_t[]){
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "?", 1)}),
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "?", 1)}),
|
||||
.rattr_count=1}), 0))) => 0;
|
||||
lfsr_mdir_commit(&lfs, &file.b.o.mdir, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
@@ -1232,7 +1232,7 @@ code = '''
|
||||
lfs_alloc_ckpoint(&lfs);
|
||||
lfsr_rbyd_alloc(&lfs, &file.b.shrub) => 0;
|
||||
lfsr_rbyd_commit(&lfs, &file.b.shrub, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_DATA, +1, "?", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "?", 1))) => 0;
|
||||
lfsr_rbyd_commit(&lfs, &file.b.shrub, 0, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_RM, -1, NULL, 0))) => 0;
|
||||
lfsr_mdir_commit(&lfs, &file.b.o.mdir, LFSR_RATTRS(
|
||||
|
||||
@@ -569,7 +569,7 @@ code = '''
|
||||
// is not a user API
|
||||
lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_MAGIC, 0,
|
||||
"lottlefs", 8))) => 0;
|
||||
lfsr_unmount(&lfs) => 0;
|
||||
@@ -593,7 +593,7 @@ code = '''
|
||||
// is not a user API
|
||||
lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_VERSION, 0,
|
||||
((const uint8_t[2]){
|
||||
LFS_DISK_VERSION_MAJOR+1,
|
||||
@@ -619,7 +619,7 @@ code = '''
|
||||
// is not a user API
|
||||
lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_VERSION, 0,
|
||||
((const uint8_t[2]){
|
||||
LFS_DISK_VERSION_MAJOR,
|
||||
@@ -1086,7 +1086,7 @@ code = '''
|
||||
// create an unknown config
|
||||
lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_CONFIG + 0x13, 0,
|
||||
"oh no!", strlen("oh no!")))) => 0;
|
||||
lfsr_unmount(&lfs) => 0;
|
||||
|
||||
+50
-50
@@ -37,7 +37,7 @@ code = '''
|
||||
|
||||
for (lfs_size_t i = 0; i < N; i++) {
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_ATTR(i), 0,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
}
|
||||
@@ -82,7 +82,7 @@ code = '''
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_ATTR(i), 0,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
}
|
||||
@@ -124,7 +124,7 @@ code = '''
|
||||
|
||||
for (lfs_size_t i = 0; i < N; i++) {
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(
|
||||
LFSR_RATTR_BUF(
|
||||
LFSR_TAG_ATTR(1), 0,
|
||||
&(uint8_t){'a'+(i % 26)}, 1))) => 0;
|
||||
lfsr_data_t data;
|
||||
@@ -173,18 +173,18 @@ code = '''
|
||||
uint8_t buffer[SIZE];
|
||||
memset(buffer, 'a', SIZE);
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0;
|
||||
|
||||
memset(buffer, 'b', SIZE);
|
||||
lfsr_mdir_t mdir;
|
||||
lfsr_mtree_lookup(&lfs, 0, &mdir) => 0;
|
||||
lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(2), 0, buffer, SIZE))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, buffer, SIZE))) => 0;
|
||||
|
||||
// force mroot to compact
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(3), 0, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(3), 0, "c", 1))) => 0;
|
||||
|
||||
// assert mdirs were unininlined
|
||||
assert(lfs.mtree.weight == (1 << lfs.mdir_bits));
|
||||
@@ -269,7 +269,7 @@ code = '''
|
||||
// force mroot to compact
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
|
||||
// assert mdirs were unininlined and split
|
||||
assert(lfs.mtree.weight == (2 << lfs.mdir_bits));
|
||||
@@ -358,7 +358,7 @@ code = '''
|
||||
// force mroot to compact
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
|
||||
// assert mdirs were unininlined and split
|
||||
assert(lfs.mtree.weight == (2 << lfs.mdir_bits));
|
||||
@@ -378,7 +378,7 @@ code = '''
|
||||
// force mdir to compact
|
||||
mdir.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(2), 0, "e", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, "e", 1))) => 0;
|
||||
|
||||
// assert mdir was split correctly
|
||||
assert(lfs.mtree.weight == (3 << lfs.mdir_bits));
|
||||
@@ -675,7 +675,7 @@ code = '''
|
||||
// force mroot to compact
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
|
||||
// assert mdirs were unininlined and split
|
||||
assert(lfs.mtree.weight == (2 << lfs.mdir_bits));
|
||||
@@ -765,7 +765,7 @@ code = '''
|
||||
// force mroot to compact
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
|
||||
// assert mdirs were unininlined and split
|
||||
assert(lfs.mtree.weight == (2 << lfs.mdir_bits));
|
||||
@@ -932,7 +932,7 @@ code = '''
|
||||
// force mroot to compact
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
|
||||
// assert mdirs were unininlined and split
|
||||
assert(lfs.mtree.weight == (2 << lfs.mdir_bits));
|
||||
@@ -1046,7 +1046,7 @@ code = '''
|
||||
// force mroot to compact
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
|
||||
// assert mdirs were unininlined and split
|
||||
assert(lfs.mtree.weight == (2 << lfs.mdir_bits));
|
||||
@@ -1273,18 +1273,18 @@ code = '''
|
||||
uint8_t buffer[SIZE];
|
||||
memset(buffer, 'a', SIZE);
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0;
|
||||
|
||||
memset(buffer, 'b', SIZE);
|
||||
lfsr_mdir_t mdir;
|
||||
lfsr_mtree_lookup(&lfs, 0, &mdir) => 0;
|
||||
lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(2), 0, buffer, SIZE))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, buffer, SIZE))) => 0;
|
||||
|
||||
// force mroot to compact
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(3), 0, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(3), 0, "c", 1))) => 0;
|
||||
|
||||
// assert mdirs were unininlined
|
||||
assert(lfs.mtree.weight == (1 << lfs.mdir_bits));
|
||||
@@ -1296,10 +1296,10 @@ code = '''
|
||||
lfsr_mdir_t old_mdir = mdir;
|
||||
mdir.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(4), 0, "d", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(4), 0, "d", 1))) => 0;
|
||||
mdir.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(5), 0, "e", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(5), 0, "e", 1))) => 0;
|
||||
// assert we relocated
|
||||
assert(lfsr_mdir_cmp(&old_mdir, &mdir) != 0);
|
||||
|
||||
@@ -1408,7 +1408,7 @@ code = '''
|
||||
// force mroot to compact
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
|
||||
// assert mdirs were unininlined and split
|
||||
assert(lfs.mtree.weight == (2 << lfs.mdir_bits));
|
||||
@@ -1422,10 +1422,10 @@ code = '''
|
||||
lfsr_mdir_t old_mdir = mdir;
|
||||
mdir.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(2), 0, "d", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, "d", 1))) => 0;
|
||||
mdir.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(3), 0, "e", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(3), 0, "e", 1))) => 0;
|
||||
// assert we relocated
|
||||
assert(lfsr_mdir_cmp(&old_mdir, &mdir) != 0);
|
||||
|
||||
@@ -1538,7 +1538,7 @@ code = '''
|
||||
// force mroot to compact
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
|
||||
// assert mdirs were unininlined and split
|
||||
assert(lfs.mtree.weight == (2 << lfs.mdir_bits));
|
||||
@@ -1552,10 +1552,10 @@ code = '''
|
||||
lfsr_mdir_t old_mdir = mdir;
|
||||
mdir.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(2), 0, "d", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, "d", 1))) => 0;
|
||||
mdir.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(3), 0, "e", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(3), 0, "e", 1))) => 0;
|
||||
// assert we relocated
|
||||
assert(lfsr_mdir_cmp(&old_mdir, &mdir) != 0);
|
||||
|
||||
@@ -1660,10 +1660,10 @@ code = '''
|
||||
lfsr_mdir_t old_mroot = lfs.mroot;
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "b", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "b", 1))) => 0;
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(2), 0, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, "c", 1))) => 0;
|
||||
// assert we relocated
|
||||
assert(lfsr_mdir_cmp(&old_mroot, &lfs.mroot) != 0);
|
||||
|
||||
@@ -1737,10 +1737,10 @@ code = '''
|
||||
lfsr_mdir_t old_mroot = lfs.mroot;
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "b", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "b", 1))) => 0;
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(2), 0, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, "c", 1))) => 0;
|
||||
// assert we relocated
|
||||
assert(lfsr_mdir_cmp(&old_mroot, &lfs.mroot) != 0);
|
||||
|
||||
@@ -1749,16 +1749,16 @@ code = '''
|
||||
old_mroot = lfs.mroot;
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(3), 0, "d", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(3), 0, "d", 1))) => 0;
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(4), 0, "e", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(4), 0, "e", 1))) => 0;
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(5), 0, "f", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(5), 0, "f", 1))) => 0;
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(6), 0, "g", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(6), 0, "g", 1))) => 0;
|
||||
// assert we relocated
|
||||
assert(lfsr_mdir_cmp(&old_mroot, &lfs.mroot) != 0);
|
||||
|
||||
@@ -1861,10 +1861,10 @@ code = '''
|
||||
lfsr_mdir_t old_mroot = lfs.mroot;
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "b", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "b", 1))) => 0;
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(2), 0, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, "c", 1))) => 0;
|
||||
// assert we relocated
|
||||
assert(lfsr_mdir_cmp(&old_mroot, &lfs.mroot) != 0);
|
||||
|
||||
@@ -1872,10 +1872,10 @@ code = '''
|
||||
old_mroot = lfs.mroot;
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(3), 0, "d", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(3), 0, "d", 1))) => 0;
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(4), 0, "e", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(4), 0, "e", 1))) => 0;
|
||||
// assert we relocated
|
||||
assert(lfsr_mdir_cmp(&old_mroot, &lfs.mroot) != 0);
|
||||
|
||||
@@ -1970,7 +1970,7 @@ code = '''
|
||||
// force mroot to compact
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
|
||||
// assert mdirs were unininlined and split
|
||||
assert(lfs.mtree.weight == (2 << lfs.mdir_bits));
|
||||
@@ -1987,10 +1987,10 @@ code = '''
|
||||
lfsr_mdir_t old_mdir = mdir;
|
||||
mdir.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(2), 0, "d", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, "d", 1))) => 0;
|
||||
mdir.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(3), 0, "e", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(3), 0, "e", 1))) => 0;
|
||||
// assert we relocated
|
||||
assert(lfsr_mdir_cmp(&old_mdir, &mdir) != 0);
|
||||
// assert mroot relocated
|
||||
@@ -2105,7 +2105,7 @@ code = '''
|
||||
// force mroot to compact
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
|
||||
// assert mdirs were unininlined and split
|
||||
assert(lfs.mtree.weight == (2 << lfs.mdir_bits));
|
||||
@@ -2129,10 +2129,10 @@ code = '''
|
||||
lfsr_mdir_t old_mdir = mdir;
|
||||
mdir.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(2), 0, "e", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, "e", 1))) => 0;
|
||||
mdir.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(3), 0, "f", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(3), 0, "f", 1))) => 0;
|
||||
// assert we relocated
|
||||
assert(lfsr_mdir_cmp(&old_mdir, &mdir) != 0);
|
||||
// assert mroot relocated
|
||||
@@ -2255,7 +2255,7 @@ code = '''
|
||||
// force mroot to compact
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
|
||||
// assert mdirs were unininlined and split
|
||||
assert(lfs.mtree.weight == (2 << lfs.mdir_bits));
|
||||
@@ -2272,7 +2272,7 @@ code = '''
|
||||
// force mdir to compact twice, this should relocate
|
||||
mdir.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(2), 0, "d", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, "d", 1))) => 0;
|
||||
// force mdir to compact while we're removing
|
||||
mdir.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS(
|
||||
@@ -2342,19 +2342,19 @@ code = '''
|
||||
uint8_t buffer[SIZE];
|
||||
memset(buffer, 'a', SIZE);
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0;
|
||||
|
||||
memset(buffer, 'b', SIZE);
|
||||
lfsr_mdir_t mdir;
|
||||
lfsr_mtree_lookup(&lfs, 0, &mdir) => 0;
|
||||
lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(2), 0, buffer, SIZE))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, buffer, SIZE))) => 0;
|
||||
|
||||
// force mroot to compact, this should both uninline and relocate
|
||||
lfsr_mdir_t old_mroot = lfs.mroot;
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(3), 0, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(3), 0, "c", 1))) => 0;
|
||||
// assert mroot relocated
|
||||
assert(lfsr_mdir_cmp(&old_mroot, &lfs.mroot) != 0);
|
||||
|
||||
@@ -2449,7 +2449,7 @@ code = '''
|
||||
lfsr_mdir_t old_mroot = lfs.mroot;
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0;
|
||||
// assert mroot relocated
|
||||
assert(lfsr_mdir_cmp(&old_mroot, &lfs.mroot) != 0);
|
||||
|
||||
@@ -3575,13 +3575,13 @@ code = '''
|
||||
uint8_t buffer[SIZE];
|
||||
memset(buffer, 'a', SIZE);
|
||||
lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0;
|
||||
|
||||
memset(buffer, 'b', SIZE);
|
||||
lfsr_mdir_t mdir;
|
||||
lfsr_mtree_lookup(&lfs, 0, &mdir) => 0;
|
||||
lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS(
|
||||
LFSR_RATTR(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0;
|
||||
LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0;
|
||||
|
||||
// force mroot to compact
|
||||
lfs.mroot.rbyd.eoff = -1;
|
||||
|
||||
+726
-726
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user