From 03df517daee25eb116b81a62b662ce9ce246ad78 Mon Sep 17 00:00:00 2001 From: Christopher Haster Date: Sun, 30 Nov 2025 01:18:45 -0600 Subject: [PATCH] rattrs: Adopted implicit lfs3_path_namelen in LFS3_FROM_NAME I was poking around at possibly inlining small (<=255) name lens in lfs3_rattr_t, but realized all LFS3_FROM_NAME rattrs in our system already use the lfs3_path_namelen pattern (terminates in either '\0' or '/'). Well, except for our tests, but who cares about those. Adopting lfs3_path_namelen in LFS3_FROM_NAME saves a bit of code: code stack ctx before: 35316 2176 660 after: 35288 (-0.1%) 2176 (+0.0%) 660 (+0.0%) code stack ctx gbmap before: 38168 2192 772 gbmap after: 38140 (-0.1%) 2192 (+0.0%) 772 (+0.0%) --- lfs3.c | 22 ++- tests/test_btree.toml | 101 +++++------ tests/test_mount.toml | 27 +-- tests/test_mtree.toml | 392 ++++++++++++++++++------------------------ 4 files changed, 226 insertions(+), 316 deletions(-) diff --git a/lfs3.c b/lfs3.c index 63111ee8..08912a8a 100644 --- a/lfs3.c +++ b/lfs3.c @@ -3254,6 +3254,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, @@ -3385,7 +3386,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; @@ -11321,12 +11324,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)); @@ -11474,12 +11476,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; @@ -11650,12 +11651,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)); @@ -12410,10 +12410,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; @@ -12423,10 +12422,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; diff --git a/tests/test_btree.toml b/tests/test_btree.toml index 4e1ade02..7f1a3ab6 100644 --- a/tests/test_btree.toml +++ b/tests/test_btree.toml @@ -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; diff --git a/tests/test_mount.toml b/tests/test_mount.toml index b735cdaa..25b0c936 100644 --- a/tests/test_mount.toml +++ b/tests/test_mount.toml @@ -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; diff --git a/tests/test_mtree.toml b/tests/test_mtree.toml index 9bda7c6c..74209a53 100644 --- a/tests/test_mtree.toml +++ b/tests/test_mtree.toml @@ -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);