rattrs: Reverted implicit lfs3_path_namelen in LFS3_FROM_NAME

I don't think there was anything inherently wrong with this idea, but:

- The code savings (28 bytes) was surprisingly small.

- Expecting lfs3_path_namelen may be a headache for future
  non-null-terminated string support.

- Even if you don't care about non-null-terminated strings, precomputing
  strlen as early as possible is a good idea to minimize repeated strlen
  scans.

Reverting adds a bit of code:

                 code          stack          ctx
  before:       35288           2176          660
  after:        35316 (+0.1%)   2176 (+0.0%)  660 (+0.0%)

                 code          stack          ctx
  gbmap before: 38140           2192          772
  gbmap after:  38168 (+0.1%)   2192 (+0.0%)  772 (+0.0%)
This commit is contained in:
Christopher Haster
2025-11-30 01:19:27 -06:00
parent 03df517dae
commit b28b7c12aa
4 changed files with 316 additions and 226 deletions
+224 -168
View File
@@ -282,9 +282,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -292,9 +293,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 3);
@@ -381,9 +383,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -391,9 +394,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 3);
@@ -414,9 +418,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -733,9 +738,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -743,9 +749,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 3);
@@ -832,9 +839,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -842,9 +850,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 3);
@@ -933,9 +942,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -943,9 +953,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 3);
@@ -1013,9 +1024,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -1023,9 +1035,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 3);
@@ -1046,9 +1059,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -1139,9 +1153,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -1149,9 +1164,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 3);
@@ -1172,9 +1188,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -1545,9 +1562,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -1555,9 +1573,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 3);
@@ -1693,9 +1712,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -1703,9 +1723,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 3);
@@ -1841,9 +1862,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -1929,9 +1951,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -2080,9 +2103,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -2200,9 +2224,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -2210,9 +2235,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 3);
@@ -2353,9 +2379,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -2363,9 +2390,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 3);
@@ -2386,9 +2414,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -2524,9 +2553,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -2534,9 +2564,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 3);
@@ -2742,9 +2773,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -2752,9 +2784,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 3);
@@ -3235,9 +3268,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 4);
@@ -3245,9 +3279,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 5);
@@ -3322,9 +3357,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 4);
@@ -3332,9 +3368,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 5);
@@ -3347,9 +3384,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 4);
@@ -3490,9 +3528,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 4);
@@ -3500,9 +3539,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 5);
@@ -3601,9 +3641,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 4);
@@ -3611,9 +3652,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 5);
@@ -3710,9 +3752,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 4);
@@ -3720,9 +3763,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 5);
@@ -3735,9 +3779,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 4);
@@ -3755,9 +3800,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -3832,9 +3878,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 4);
@@ -3842,9 +3889,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 5);
@@ -3857,9 +3905,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 4);
@@ -4178,9 +4227,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -4188,9 +4238,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 3);
@@ -4332,9 +4383,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -4342,9 +4394,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 3);
@@ -4362,9 +4415,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -5296,9 +5350,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);
@@ -5357,9 +5412,10 @@ 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(3, LFS3_TAG_REG, +1, LFS3_FROM_DATA),
LFS3_RATTR_ARG(SIZE),
LFS3_RATTR_ARG(buffer),
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_NULL)) => 0;
assert(mdir.r.weight == 2);