rattrs: Unreverted implicit lfs3_path_namelen in LFS3_FROM_NAME
May rerevert this in the future, but I'm on the fence.
It's true this only saves a small amount of code, but in theory it also
reduces stack consumption in name-related functions. Currently this
doesn't affect the stack hot-path, which is a bit surprising as this
includes lfs3_set, but it may in the future.
The arguments against this optimization are also a bit weak:
- Non-null-terminated strings - We probably shouldn't optimize for a
theoretical future feature. If anything, we want to optimize in the
opposite direction to best measure the theoretical code cost.
- Precomputing strlen early - While this is generally a good idea, our
rattrs benefit greatly from compact encodings, as rattrs sitting on
the stack are one of the bigger contributors to our stack hot-path.
So for now I'm unreverting to see how long this optimization makes
sense, but could see this being rereverted in the future.
At the very least we probably want to keep the test changes to make
future testing easier.
---
Saves a bit of code:
code stack ctx
before: 35188 2136 660
after: 35160 (-0.1%) 2136 (+0.0%) 660 (+0.0%)
code stack ctx
gbmap before: 38048 2152 772
gbmap after: 38020 (-0.1%) 2152 (+0.0%) 772 (+0.0%)
This commit is contained in:
@@ -3260,6 +3260,7 @@ static int lfs3_rbyd_appendtag(lfs3_t *lfs3, lfs3_rbyd_t *rbyd,
|
||||
#endif
|
||||
|
||||
// needed in lfs3_rbyd_appendrattr_
|
||||
static inline lfs3_size_t lfs3_path_namelen(const char *path);
|
||||
static lfs3_data_t lfs3_data_frombranch(const lfs3_rbyd_t *branch,
|
||||
uint8_t buffer[static LFS3_BRANCH_DSIZE]);
|
||||
static lfs3_data_t lfs3_data_frombtree(const lfs3_btree_t *btree,
|
||||
@@ -3398,7 +3399,9 @@ static int lfs3_rbyd_appendrattr_(lfs3_t *lfs3, lfs3_rbyd_t *rbyd,
|
||||
// name?
|
||||
} else if (from == LFS3_FROM_NAME) {
|
||||
ctx.u.name.datas[0] = lfs3_data_fromleb128(args[0], ctx.u.name.buf);
|
||||
ctx.u.name.datas[1] = LFS3_DATA_BUF((const uint8_t*)args[1], args[2]);
|
||||
ctx.u.name.datas[1] = LFS3_DATA_BUF(
|
||||
(const char*)args[1],
|
||||
lfs3_path_namelen((const char*)args[1]));
|
||||
datas = ctx.u.name.datas;
|
||||
data_count = 2;
|
||||
|
||||
@@ -11334,12 +11337,11 @@ int lfs3_mkdir(lfs3_t *lfs3, const char *path) {
|
||||
// process
|
||||
lfs3_grm_pop(lfs3);
|
||||
err = lfs3_mdir_commit(lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_tag_MASK12 | LFS3_TAG_DIR,
|
||||
LFS3_RATTR(3, LFS3_tag_MASK12 | LFS3_TAG_DIR,
|
||||
(tag == LFS3_ERR_NOENT) ? +1 : 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(name),
|
||||
LFS3_RATTR_ARG(name_len),
|
||||
LFS3_RATTR(2, LFS3_TAG_DID, 0, LFS3_FROM_LEB128),
|
||||
LFS3_RATTR_ARG(did_),
|
||||
LFS3_RATTR_NULL));
|
||||
@@ -11487,12 +11489,11 @@ int lfs3_remove(lfs3_t *lfs3, const char *path) {
|
||||
// we use a create+delete here to also clear any rattrs
|
||||
// and trim the entry size
|
||||
(zombie)
|
||||
? LFS3_RATTR(4, LFS3_tag_MASK12 | LFS3_TAG_STICKYNOTE, 0,
|
||||
? LFS3_RATTR(3, LFS3_tag_MASK12 | LFS3_TAG_STICKYNOTE, 0,
|
||||
LFS3_FROM_NAME)
|
||||
: LFS3_RATTR(4, LFS3_tag_RM, -1),
|
||||
: LFS3_RATTR(3, LFS3_tag_RM, -1),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL));
|
||||
if (err) {
|
||||
return err;
|
||||
@@ -11663,12 +11664,11 @@ int lfs3_rename(lfs3_t *lfs3, const char *old_path, const char *new_path) {
|
||||
// rename our entry, copying all tags associated with the old rid to the
|
||||
// new rid, while also marking the old rid for removal
|
||||
err = lfs3_mdir_commit(lfs3, &new_mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_tag_MASK12 | old_tag,
|
||||
LFS3_RATTR(3, LFS3_tag_MASK12 | old_tag,
|
||||
(new_tag == LFS3_ERR_NOENT) ? +1 : 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(new_did),
|
||||
LFS3_RATTR_ARG(new_path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(new_path)),
|
||||
LFS3_RATTR(2, LFS3_tag_MOVE, 0),
|
||||
LFS3_RATTR_ARG(&old_mdir),
|
||||
LFS3_RATTR_NULL));
|
||||
@@ -12423,10 +12423,9 @@ int lfs3_file_opencfg_(lfs3_t *lfs3, lfs3_file_t *file,
|
||||
file->b.h.flags |= LFS3_o_UNSYNC;
|
||||
|
||||
err = lfs3_file_sync_(lfs3, file, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL));
|
||||
if (err) {
|
||||
goto failed;
|
||||
@@ -12436,10 +12435,9 @@ int lfs3_file_opencfg_(lfs3_t *lfs3, lfs3_file_t *file,
|
||||
// create a stickynote entry if we don't have one, this
|
||||
// reserves the mid until first sync
|
||||
err = lfs3_mdir_commit(lfs3, &file->b.h.mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_STICKYNOTE, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(3, LFS3_TAG_STICKYNOTE, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL));
|
||||
if (err) {
|
||||
goto failed;
|
||||
|
||||
+39
-62
@@ -3214,10 +3214,9 @@ code = '''
|
||||
lfs3_btree_t btree;
|
||||
lfs3_btree_init(&btree);
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG("aaa"),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG("0"),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
@@ -3276,20 +3275,18 @@ code = '''
|
||||
lfs3_btree_t btree;
|
||||
lfs3_btree_init(&btree);
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG("aaa"),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG("0"),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG("0"),
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG("aab"),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG("1"),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
@@ -3359,30 +3356,27 @@ code = '''
|
||||
lfs3_btree_t btree;
|
||||
lfs3_btree_init(&btree);
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG("aaa"),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG("0"),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG("0"),
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(1*DID),
|
||||
LFS3_RATTR_ARG("aab"),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG("1"),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_btree_commit(&lfs3, &btree, 1, LFS3_RATTRS(
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG("1"),
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(2*DID),
|
||||
LFS3_RATTR_ARG("aac"),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG("2"),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
@@ -3463,30 +3457,27 @@ code = '''
|
||||
lfs3_btree_t btree;
|
||||
lfs3_btree_init(&btree);
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG("aaa"),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG("0"),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG("1"),
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(2*DID),
|
||||
LFS3_RATTR_ARG("aac"),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG("2"),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG("0"),
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(1*DID),
|
||||
LFS3_RATTR_ARG("aab"),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG("1"),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
@@ -3567,29 +3558,27 @@ code = '''
|
||||
// create a tree with N elements
|
||||
lfs3_btree_t btree;
|
||||
lfs3_btree_init(&btree);
|
||||
char name[3] = {
|
||||
'a'+((0/26/26) % 26), 'a'+((0/26) % 26), 'a'+(0 % 26)
|
||||
char name[4] = {
|
||||
'a'+((0/26/26) % 26), 'a'+((0/26) % 26), 'a'+(0 % 26), '\0',
|
||||
};
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG(name),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG(&(uint8_t){'0'+(0 % 10)}),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_size_t n = 1;
|
||||
for (lfs3_size_t i = 1; i < N; i++) {
|
||||
char name[3] = {
|
||||
'a'+((i/26/26) % 26), 'a'+((i/26) % 26), 'a'+(i % 26)
|
||||
char name[4] = {
|
||||
'a'+((i/26/26) % 26), 'a'+((i/26) % 26), 'a'+(i % 26), '\0',
|
||||
};
|
||||
lfs3_btree_commit(&lfs3, &btree, i-1, LFS3_RATTRS(
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG(&(uint8_t){'0'+((i-1) % 10)}),
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(i*DID),
|
||||
LFS3_RATTR_ARG(name),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG(&(uint8_t){'0'+((i-0) % 10)}),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
@@ -3646,10 +3635,9 @@ code = '''
|
||||
lfs3_btree_t btree;
|
||||
lfs3_btree_init(&btree);
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG("___"),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG("_"),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
@@ -3670,8 +3658,8 @@ code = '''
|
||||
for (lfs3_size_t i = 1; i < N; i++) {
|
||||
// choose a pseudo-random name
|
||||
lfs3_size_t x = TEST_PRNG(&prng) % (26*26*26);
|
||||
char name[3] = {
|
||||
'a'+((x/26/26) % 26), 'a'+((x/26) % 26), 'a'+(x % 26)
|
||||
char name[4] = {
|
||||
'a'+((x/26/26) % 26), 'a'+((x/26) % 26), 'a'+(x % 26), '\0',
|
||||
};
|
||||
|
||||
// find where to split
|
||||
@@ -3688,10 +3676,9 @@ code = '''
|
||||
lfs3_btree_commit(&lfs3, &btree, bid, LFS3_RATTRS(
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG(&(uint8_t){'0'+(i % 10)}),
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG(name),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG(&(uint8_t){'0'+(i % 10)}),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
@@ -3766,31 +3753,29 @@ code = '''
|
||||
// create a tree with N elements
|
||||
lfs3_btree_t btree;
|
||||
lfs3_btree_init(&btree);
|
||||
char name[3] = {
|
||||
'a'+((0/26/26) % 26), 'a'+((0/26) % 26), 'a'+(0 % 26)
|
||||
char name[4] = {
|
||||
'a'+((0/26/26) % 26), 'a'+((0/26) % 26), 'a'+(0 % 26), '\0',
|
||||
};
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(5, LFS3_TAG_REG, -2, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, -2, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_WEIGHT(+W),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG(name),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG(&(uint8_t){'0'+(0 % 10)}),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_size_t n = 1;
|
||||
for (lfs3_size_t i = 1; i < N; i++) {
|
||||
char name[3] = {
|
||||
'a'+((i/26/26) % 26), 'a'+((i/26) % 26), 'a'+(i % 26)
|
||||
char name[4] = {
|
||||
'a'+((i/26/26) % 26), 'a'+((i/26) % 26), 'a'+(i % 26), '\0',
|
||||
};
|
||||
lfs3_btree_commit(&lfs3, &btree, (i-1)*W+W-1, LFS3_RATTRS(
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG(&(uint8_t){'0'+((i-1) % 10)}),
|
||||
LFS3_RATTR(5, LFS3_TAG_REG, -2, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, -2, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_WEIGHT(+W),
|
||||
LFS3_RATTR_ARG(i*DID),
|
||||
LFS3_RATTR_ARG(name),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG(&(uint8_t){'0'+((i-0) % 10)}),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
@@ -3848,11 +3833,10 @@ code = '''
|
||||
lfs3_btree_t btree;
|
||||
lfs3_btree_init(&btree);
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(5, LFS3_TAG_REG, -2, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, -2, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_WEIGHT(+W),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG("___"),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG("_"),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
@@ -3876,8 +3860,8 @@ code = '''
|
||||
for (lfs3_size_t i = 1; i < N; i++) {
|
||||
// choose a pseudo-random name
|
||||
lfs3_size_t x = TEST_PRNG(&prng) % (26*26*26);
|
||||
char name[3] = {
|
||||
'a'+((x/26/26) % 26), 'a'+((x/26) % 26), 'a'+(x % 26)
|
||||
char name[4] = {
|
||||
'a'+((x/26/26) % 26), 'a'+((x/26) % 26), 'a'+(x % 26), '\0',
|
||||
};
|
||||
// choose pseudo-random weights
|
||||
lfs3_size_t weight1 = 1 + (TEST_PRNG(&prng) % W);
|
||||
@@ -3906,11 +3890,10 @@ code = '''
|
||||
LFS3_RATTR_WEIGHT(+weight1-sim_weights[bid]),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG(&(uint8_t){'0'+(i % 10)}),
|
||||
LFS3_RATTR(5, LFS3_TAG_REG, -2, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, -2, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_WEIGHT(+weight2),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG(name),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG(&(uint8_t){'0'+(i % 10)}),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
@@ -4012,10 +3995,9 @@ code = '''
|
||||
lfs3_btree_t btree;
|
||||
lfs3_btree_init(&btree);
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG("___"),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG("_"),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
@@ -4040,8 +4022,8 @@ code = '''
|
||||
lfs3_size_t bid = TEST_PRNG(&prng) % ((sim_size == 0) ? 1 : sim_size);
|
||||
// choose a pseudo-random name
|
||||
lfs3_size_t x = TEST_PRNG(&prng) % (26*26*26);
|
||||
char name[3] = {
|
||||
'a'+((x/26/26) % 26), 'a'+((x/26) % 26), 'a'+(x % 26)
|
||||
char name[4] = {
|
||||
'a'+((x/26/26) % 26), 'a'+((x/26) % 26), 'a'+(x % 26), '\0',
|
||||
};
|
||||
|
||||
// don't let sim drop below one element
|
||||
@@ -4087,10 +4069,9 @@ code = '''
|
||||
assert(cmp != LFS3_CMP_EQ);
|
||||
if (cmp > LFS3_CMP_EQ) {
|
||||
lfs3_btree_commit(&lfs3, &btree, split_bid, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG(name),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG(&(uint8_t){'0'+(i % 10)}),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
@@ -4098,10 +4079,9 @@ code = '''
|
||||
lfs3_btree_commit(&lfs3, &btree, split_bid, LFS3_RATTRS(
|
||||
// yes, we need this noop, see above
|
||||
LFS3_RATTR(1, LFS3_RATTR_NULL, 0),
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG(name),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG(&(uint8_t){'0'+(i % 10)}),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
@@ -4199,11 +4179,10 @@ code = '''
|
||||
lfs3_btree_t btree;
|
||||
lfs3_btree_init(&btree);
|
||||
lfs3_btree_commit(&lfs3, &btree, 0, LFS3_RATTRS(
|
||||
LFS3_RATTR(5, LFS3_TAG_REG, -2, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, -2, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_WEIGHT(+W),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG("___"),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG("_"),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
@@ -4231,8 +4210,8 @@ code = '''
|
||||
lfs3_size_t bid = TEST_PRNG(&prng) % ((sim_size == 0) ? 1 : sim_size);
|
||||
// choose a pseudo-random name
|
||||
lfs3_size_t x = TEST_PRNG(&prng) % (26*26*26);
|
||||
char name[3] = {
|
||||
'a'+((x/26/26) % 26), 'a'+((x/26) % 26), 'a'+(x % 26)
|
||||
char name[4] = {
|
||||
'a'+((x/26/26) % 26), 'a'+((x/26) % 26), 'a'+(x % 26), '\0',
|
||||
};
|
||||
// choose a pseudo-random weight
|
||||
lfs3_size_t weight = 1 + (TEST_PRNG(&prng) % W);
|
||||
@@ -4289,11 +4268,10 @@ code = '''
|
||||
if (cmp > LFS3_CMP_EQ) {
|
||||
lfs3_btree_commit(&lfs3, &btree,
|
||||
split_bid-(split_weight-1), LFS3_RATTRS(
|
||||
LFS3_RATTR(5, LFS3_TAG_REG, -2, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, -2, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_WEIGHT(+weight),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG(name),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG(&(uint8_t){'0'+(i % 10)}),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
@@ -4301,11 +4279,10 @@ code = '''
|
||||
lfs3_btree_commit(&lfs3, &btree, split_bid, LFS3_RATTRS(
|
||||
// yes, we need this noop, see above
|
||||
LFS3_RATTR(1, LFS3_RATTR_NULL, 0),
|
||||
LFS3_RATTR(5, LFS3_TAG_REG, -2, LFS3_FROM_NAME),
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, -2, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_WEIGHT(+weight),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG(name),
|
||||
LFS3_RATTR_ARG(3),
|
||||
LFS3_RATTR(2, LFS3_TAG_DATA, 0, LFS3_FROM_BUF, 1),
|
||||
LFS3_RATTR_ARG(&(uint8_t){'0'+(i % 10)}),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
|
||||
+9
-18
@@ -1301,11 +1301,10 @@ code = '''
|
||||
lfs3_mtree_pathlookup(&lfs3, &path,
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_RATTR(3, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
@@ -1390,11 +1389,10 @@ code = '''
|
||||
lfs3_mtree_pathlookup(&lfs3, &path,
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_RATTR(3, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
@@ -1498,11 +1496,10 @@ code = '''
|
||||
lfs3_mtree_pathlookup(&lfs3, &path,
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_RATTR(3, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
@@ -1609,11 +1606,10 @@ code = '''
|
||||
lfs3_mtree_pathlookup(&lfs3, &path,
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_RATTR(3, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
@@ -1720,21 +1716,19 @@ code = '''
|
||||
lfs3_mtree_pathlookup(&lfs3, &path,
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_RATTR(3, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
path = "c";
|
||||
lfs3_mtree_pathlookup(&lfs3, &path,
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_RATTR(3, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
@@ -1841,11 +1835,10 @@ code = '''
|
||||
lfs3_mtree_pathlookup(&lfs3, &path,
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_RATTR(3, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
@@ -1952,11 +1945,10 @@ code = '''
|
||||
lfs3_mtree_pathlookup(&lfs3, &path,
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_RATTR(3, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
@@ -2063,11 +2055,10 @@ code = '''
|
||||
lfs3_mtree_pathlookup(&lfs3, &path,
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_RATTR(3, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
|
||||
+168
-224
@@ -282,10 +282,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -293,10 +292,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 3);
|
||||
|
||||
@@ -383,10 +381,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -394,10 +391,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 3);
|
||||
|
||||
@@ -418,10 +414,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -738,10 +733,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -749,10 +743,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 3);
|
||||
|
||||
@@ -839,10 +832,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -850,10 +842,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 3);
|
||||
|
||||
@@ -942,10 +933,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -953,10 +943,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 3);
|
||||
|
||||
@@ -1024,10 +1013,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -1035,10 +1023,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 3);
|
||||
|
||||
@@ -1059,10 +1046,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -1153,10 +1139,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -1164,10 +1149,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 3);
|
||||
|
||||
@@ -1188,10 +1172,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -1562,10 +1545,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -1573,10 +1555,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 3);
|
||||
|
||||
@@ -1712,10 +1693,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -1723,10 +1703,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 3);
|
||||
|
||||
@@ -1862,10 +1841,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -1951,10 +1929,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -2103,10 +2080,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -2224,10 +2200,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -2235,10 +2210,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 3);
|
||||
|
||||
@@ -2379,10 +2353,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -2390,10 +2363,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 3);
|
||||
|
||||
@@ -2414,10 +2386,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -2553,10 +2524,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -2564,10 +2534,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 3);
|
||||
|
||||
@@ -2773,10 +2742,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -2784,10 +2752,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 3);
|
||||
|
||||
@@ -3268,10 +3235,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 4);
|
||||
|
||||
@@ -3279,10 +3245,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 5);
|
||||
|
||||
@@ -3357,10 +3322,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 4);
|
||||
|
||||
@@ -3368,10 +3332,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 5);
|
||||
|
||||
@@ -3384,10 +3347,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 4);
|
||||
|
||||
@@ -3528,10 +3490,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 4);
|
||||
|
||||
@@ -3539,10 +3500,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 5);
|
||||
|
||||
@@ -3641,10 +3601,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 4);
|
||||
|
||||
@@ -3652,10 +3611,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 5);
|
||||
|
||||
@@ -3752,10 +3710,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 4);
|
||||
|
||||
@@ -3763,10 +3720,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 5);
|
||||
|
||||
@@ -3779,10 +3735,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 4);
|
||||
|
||||
@@ -3800,10 +3755,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -3878,10 +3832,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 4);
|
||||
|
||||
@@ -3889,10 +3842,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 5);
|
||||
|
||||
@@ -3905,10 +3857,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 4);
|
||||
|
||||
@@ -4227,10 +4178,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -4238,10 +4188,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 3);
|
||||
|
||||
@@ -4383,10 +4332,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -4394,10 +4342,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 3);
|
||||
|
||||
@@ -4415,10 +4362,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -5350,10 +5296,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
@@ -5412,10 +5357,9 @@ code = '''
|
||||
lfs3_mtree_namelookup(&lfs3, 0, (const char*)buffer+1, SIZE-1,
|
||||
&mdir, NULL) => LFS3_ERR_NOENT;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(4, LFS3_TAG_REG, +1, LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(0),
|
||||
LFS3_RATTR_ARG((const char*)buffer+1),
|
||||
LFS3_RATTR_ARG(SIZE-1),
|
||||
LFS3_RATTR(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
|
||||
LFS3_RATTR_ARG(SIZE),
|
||||
LFS3_RATTR_ARG(buffer),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
assert(mdir.r.weight == 2);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user