Reduced the scope of LFS3_REVDBG/REVNOISE

LFS3_REVDBG introduced a lot of overhead for something I'm not sure
anyone will actually use (I have enough tooling that the state of an
rbyd is rarely a mystery, see dbgbmap.py). That, and we're running out
of flags!

So this reduces LFS3_REVDBG to just store one of "himb" in the first
(lowest) byte of the revision count; information that is easily
available:

  vvvv---- -------- -------- --------
  vvvvrrrr rrrrrr-- -------- --------
  vvvvrrrr rrrrrrnn nnnnnnnn nnnnnnnn
  vvvvrrrr rrrrrrnn nnnnnnnn dddddddd
  '-.''----.----''----.- - - '---.--'
    '------|----------|----------|---- 4-bit relocation revision
           '----------|----------|---- recycle-bits recycle counter
                      '----------|---- pseudorandom noise (if revnoise)
                                 '---- h, i, m, or b (if revdbg)
                             -11-1---  - h = mroot anchor
                             -11-1--1  - i = mroot
                             -11-11-1  - m = mdir
                             -11---1-  - b = btree node

Some other notes:

- Enabled LFS3_REVDBG and LFS3_REVNOISE to work together, now that
  LFS3_REVDBG doesn't consume all unused rev bits.

  Note that LFS3_REVDBG has priority over LFS3_REVNOISE, but _not_
  recycle-bits, etc. Otherwise problems would happen for recycle-bits
  >2^20 (though do we care?).

- Fixed an issue where using the gcksum as a noise source results in
  noise=0 when there is only an mroot. This is due to how we xor out
  the current mdir cksum during an mdir commit.

  Fixed by using gcksum_p instead of gcksum.

- Added missing LFS3_I_REVDBG/REVNOISE flags in the tests, so now you
  can actually run the tests with LFS3_REVDBG/REVNOISE (this probably
  just fell out-of-date at some point).

---

Curiously, despite LFS3_REVDBG/REVNOISE being disabled by default, this
did save some code. I'm guessing the non-tail-call mtree/gbmap commit
functions prevented some level of inlining?:

                 code          stack          ctx
  before:       35964           2280          660
  after:        35964 (+0.0%)   2280 (+0.0%)  660 (+0.0%)

                 code          stack          ctx
  gbmap before: 38940           2296          772
  gbmap after:  38828 (-0.3%)   2296 (+0.0%)  772 (+0.0%)
This commit is contained in:
Christopher Haster
2025-11-10 00:35:46 -06:00
parent e196be53df
commit 673fa7876f
7 changed files with 353 additions and 229 deletions
+18 -6
View File
@@ -1885,7 +1885,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_MKCONSISTENT
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_MKCONSISTENT
| LFS3_I_RELOOKAHEAD
| ((GBMAP)
? (LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
@@ -2028,7 +2030,9 @@ code = '''
// did these clear the right flags?
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((!MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((!MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
| ((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
| ((!REGBMAP)
? ((GBMAP)
@@ -2116,7 +2120,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_MKCONSISTENT
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_MKCONSISTENT
| LFS3_I_RELOOKAHEAD
| ((GBMAP)
? (LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
@@ -2259,7 +2265,9 @@ code = '''
// did these clear the right flags?
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((!MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((!MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
| ((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
| ((!REGBMAP)
? ((GBMAP)
@@ -2279,7 +2287,9 @@ code = '''
// check that flags were reset
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_MKCONSISTENT
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_MKCONSISTENT
| LFS3_I_RELOOKAHEAD
| ((REGBMAP)
? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1U)
@@ -2426,7 +2436,9 @@ code = '''
// did these clear the right flags?
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((!MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((!MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
| ((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
| ((!REGBMAP)
? ((GBMAP)
+36 -18
View File
@@ -30,9 +30,8 @@ defines.COMPACTMETA = [false, true]
defines.CKMETA = [false, true]
defines.CKDATA = [false, true]
if = [
'LFS3_IFDEF_REVDBG(true, !REVDBG)',
'LFS3_IFDEF_REVNOISE(true, !REVNOISE)',
'!REVDBG || !REVNOISE',
'LFS3_IFDEF_YES_REVDBG(REVDBG, LFS3_IFDEF_REVDBG(true, !REVDBG))',
'LFS3_IFDEF_YES_REVNOISE(REVNOISE, LFS3_IFDEF_REVNOISE(true, !REVNOISE))',
'LFS3_IFDEF_CKPROGS(true, !CKPROGS)',
'LFS3_IFDEF_CKFETCHES(true, !CKFETCHES)',
'LFS3_IFDEF_CKMETAPARITY(true, !CKMETAPARITY)',
@@ -77,8 +76,8 @@ code = '''
((RDONLY) ? LFS3_I_RDONLY : 0)
| ((FLUSH) ? LFS3_I_FLUSH : 0)
| ((SYNC) ? LFS3_I_SYNC : 0)
| ((REVDBG) ? LFS3_IFDEF_REVDBG(LFS3_M_REVDBG, -1) : 0)
| ((REVNOISE) ? LFS3_IFDEF_REVNOISE(LFS3_M_REVNOISE, -1) : 0)
| ((REVDBG) ? LFS3_IFDEF_REVDBG(LFS3_I_REVDBG, -1) : 0)
| ((REVNOISE) ? LFS3_IFDEF_REVNOISE(LFS3_I_REVNOISE, -1) : 0)
| ((CKPROGS) ? LFS3_IFDEF_CKPROGS(LFS3_I_CKPROGS, -1) : 0)
| ((CKFETCHES) ? LFS3_IFDEF_CKFETCHES(LFS3_I_CKFETCHES, -1) : 0)
| ((CKMETAPARITY)
@@ -112,9 +111,8 @@ defines.CKMETA = [false, true]
defines.CKDATA = [false, true]
defines.GBMAP = [false, true]
if = [
'LFS3_IFDEF_REVDBG(true, !REVDBG)',
'LFS3_IFDEF_REVNOISE(true, !REVNOISE)',
'!REVDBG || !REVNOISE',
'LFS3_IFDEF_YES_REVDBG(REVDBG, LFS3_IFDEF_REVDBG(true, !REVDBG))',
'LFS3_IFDEF_YES_REVNOISE(REVNOISE, LFS3_IFDEF_REVNOISE(true, !REVNOISE))',
'LFS3_IFDEF_CKPROGS(true, !CKPROGS)',
'LFS3_IFDEF_CKFETCHES(true, !CKFETCHES)',
'LFS3_IFDEF_CKMETAPARITY(true, !CKMETAPARITY)',
@@ -145,7 +143,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_MKCONSISTENT
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_MKCONSISTENT
| LFS3_I_RELOOKAHEAD
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -172,7 +172,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_MKCONSISTENT
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_MKCONSISTENT
| LFS3_I_RELOOKAHEAD
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -189,7 +191,9 @@ code = '''
CFG) => 0;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_MKCONSISTENT
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_MKCONSISTENT
| LFS3_I_COMPACTMETA
// note ckdata implies ckmeta
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
@@ -219,7 +223,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_MKCONSISTENT
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_MKCONSISTENT
| LFS3_I_RELOOKAHEAD
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -241,7 +247,9 @@ code = '''
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_MKCONSISTENT
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_MKCONSISTENT
| LFS3_I_RELOOKAHEAD
| LFS3_I_REGBMAP
| LFS3_I_COMPACTMETA
@@ -260,7 +268,9 @@ code = '''
CFG) => 0;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_MKCONSISTENT
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_MKCONSISTENT
| LFS3_I_COMPACTMETA
// note ckdata implies ckmeta
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
@@ -316,7 +326,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_MKCONSISTENT
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_MKCONSISTENT
| LFS3_I_RELOOKAHEAD
| LFS3_IFDEF_YES_GBMAP(
(SIZE >= BLOCK_SIZE/4) ? LFS3_I_REGBMAP : 0,
@@ -337,7 +349,9 @@ code = '''
CFG) => 0;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_MKCONSISTENT
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_MKCONSISTENT
| ((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
| LFS3_IFDEF_YES_GBMAP(
(SIZE >= BLOCK_SIZE/4) ? LFS3_I_REGBMAP : 0,
@@ -426,7 +440,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_MKCONSISTENT
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_MKCONSISTENT
| LFS3_I_RELOOKAHEAD
| LFS3_IFDEF_YES_GBMAP(
(ORPHANS >= 100) ? LFS3_I_REGBMAP : 0,
@@ -448,7 +464,9 @@ code = '''
CFG) => 0;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
| LFS3_IFDEF_YES_GBMAP(
(ORPHANS >= 100) ? LFS3_I_REGBMAP : 0,
0)
+215 -72
View File
@@ -1794,7 +1794,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_MKCONSISTENT
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_MKCONSISTENT
| LFS3_I_RELOOKAHEAD
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -1832,7 +1834,9 @@ code = '''
// check flags after
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((!MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((!MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
| ((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
| ((!COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
// note ckdata implies ckmeta
@@ -1931,7 +1935,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
| LFS3_I_CKDATA
@@ -2004,7 +2010,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
| LFS3_I_CKDATA
@@ -2035,7 +2043,9 @@ code = '''
// we should _not_ update lookahead/compact/ckmeta/ckdata
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
| LFS3_I_CKDATA
@@ -2124,7 +2134,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
| LFS3_I_CKDATA
@@ -2217,7 +2229,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
| LFS3_I_CKDATA
@@ -2318,7 +2332,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
| LFS3_I_CKDATA
@@ -2400,7 +2416,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP && SIZE >= BLOCK_SIZE/4)
? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
: 0)
@@ -2496,8 +2514,11 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
// ok we might've updated lookahead if write stayed in cache
((!RELOOKAHEAD || SIZE > FCACHE_SIZE || SYNC)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
// ok we might've updated lookahead if write stayed in
// cache
| ((!RELOOKAHEAD || SIZE > FCACHE_SIZE || SYNC)
? LFS3_I_RELOOKAHEAD : 0)
| ((GBMAP && SIZE >= BLOCK_SIZE/4)
? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
@@ -2617,7 +2638,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
| LFS3_I_CKDATA
@@ -2747,7 +2770,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -2868,7 +2893,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -2974,7 +3001,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
| LFS3_I_CKDATA
@@ -3106,7 +3135,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -3229,7 +3260,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -3347,7 +3380,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((DESYNC) ? LFS3_I_MKCONSISTENT : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((DESYNC) ? LFS3_I_MKCONSISTENT : 0)
| ((!(RELOOKAHEAD && DESYNC)) ? LFS3_I_RELOOKAHEAD : 0)
| LFS3_I_COMPACTMETA
// note ckdata implies ckmeta
@@ -3490,7 +3525,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((DESYNC) ? LFS3_I_MKCONSISTENT : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((DESYNC) ? LFS3_I_MKCONSISTENT : 0)
| ((!(RELOOKAHEAD && DESYNC)) ? LFS3_I_RELOOKAHEAD : 0)
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
@@ -3624,7 +3661,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((DESYNC) ? LFS3_I_MKCONSISTENT : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((DESYNC) ? LFS3_I_MKCONSISTENT : 0)
| ((!(RELOOKAHEAD && DESYNC)) ? LFS3_I_RELOOKAHEAD : 0)
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
@@ -3744,7 +3783,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((DESYNC) ? LFS3_I_MKCONSISTENT : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((DESYNC) ? LFS3_I_MKCONSISTENT : 0)
| ((!(RELOOKAHEAD && DESYNC)) ? LFS3_I_RELOOKAHEAD : 0)
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
@@ -3867,7 +3908,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -3991,7 +4034,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -4118,7 +4163,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -4258,7 +4305,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -4398,7 +4447,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -4518,7 +4569,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -4639,7 +4692,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -4773,7 +4828,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -4908,7 +4965,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -5097,7 +5156,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -5302,7 +5363,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -5502,7 +5565,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -5699,7 +5764,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -5902,7 +5969,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -6110,7 +6179,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -6323,7 +6394,9 @@ done:;
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -6395,7 +6468,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
| LFS3_I_CKDATA
@@ -6431,7 +6506,9 @@ code = '''
// but because we mutated, we're still marked as uncompacted
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
| LFS3_I_CKDATA
@@ -6454,7 +6531,9 @@ code = '''
// uncompacted flag should have been cleared
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
// note ckdata implies ckmeta
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
| ((!CKDATA) ? LFS3_I_CKDATA : 0)
@@ -6538,7 +6617,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -6583,7 +6664,9 @@ code = '''
// but because we mutated, we're still marked as uncompacted
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -6609,7 +6692,9 @@ code = '''
// uncompacted flag should have been cleared
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
// note ckdata implies ckmeta
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
@@ -6676,7 +6761,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
| LFS3_I_CKDATA
@@ -6714,7 +6801,9 @@ code = '''
// but because we mutated, we're still marked as uncompacted
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -6738,7 +6827,9 @@ code = '''
// uncompacted flag should have been cleared
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
// note ckdata implies ckmeta
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
@@ -6832,7 +6923,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
| LFS3_I_CKDATA
@@ -6882,7 +6975,9 @@ code = '''
// but because we mutated, we're still marked as uncompacted
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -6907,7 +7002,9 @@ code = '''
// uncompacted flag should have been cleared
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
// note ckdata implies ckmeta
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
@@ -7055,7 +7152,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -7113,7 +7212,9 @@ code = '''
// but because we mutated, we're still marked as uncompacted
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -7140,7 +7241,9 @@ code = '''
// uncompacted flag should have been cleared
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
// note ckdata implies ckmeta
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
@@ -7293,7 +7396,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -7356,7 +7461,9 @@ code = '''
// but because we mutated, we're still marked as uncompacted
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
@@ -7383,7 +7490,9 @@ code = '''
// uncompacted flag should have been cleared
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
// note ckdata implies ckmeta
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
@@ -7501,7 +7610,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((ORPHANS > 0) ? LFS3_I_MKCONSISTENT : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((ORPHANS > 0) ? LFS3_I_MKCONSISTENT : 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP && ORPHANS >= 100)
? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
@@ -7570,7 +7681,9 @@ code = '''
// and we should be marked as consistent
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((!RELOOKAHEAD || ORPHANS > 0) ? LFS3_I_RELOOKAHEAD : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((!RELOOKAHEAD || ORPHANS > 0) ? LFS3_I_RELOOKAHEAD : 0)
| ((GBMAP && ORPHANS >= 100)
? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
: 0)
@@ -7650,7 +7763,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
| LFS3_I_CKDATA
@@ -7736,7 +7851,9 @@ code = '''
// if we introduced actual orphans, we _must_ be marked as inconsistent
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((ORPHANS >= 3) ? LFS3_I_MKCONSISTENT : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((ORPHANS >= 3) ? LFS3_I_MKCONSISTENT : 0)
| ((!RELOOKAHEAD || ORPHANS > 0) ? LFS3_I_RELOOKAHEAD : 0)
| ((GBMAP && ORPHANS >= 100)
? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
@@ -7842,7 +7959,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((ORPHANS > 0) ? LFS3_I_MKCONSISTENT : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((ORPHANS > 0) ? LFS3_I_MKCONSISTENT : 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
@@ -7922,7 +8041,9 @@ code = '''
// and we should be marked as consistent
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((!RELOOKAHEAD || ORPHANS > 0) ? LFS3_I_RELOOKAHEAD : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((!RELOOKAHEAD || ORPHANS > 0) ? LFS3_I_RELOOKAHEAD : 0)
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
// note ckdata implies ckmeta
@@ -8025,7 +8146,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((ORPHANS > 0) ? LFS3_I_MKCONSISTENT : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((ORPHANS > 0) ? LFS3_I_MKCONSISTENT : 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
@@ -8105,7 +8228,9 @@ code = '''
// and we should be marked as consistent
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((!RELOOKAHEAD || ORPHANS > 0) ? LFS3_I_RELOOKAHEAD : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((!RELOOKAHEAD || ORPHANS > 0) ? LFS3_I_RELOOKAHEAD : 0)
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
// note ckdata implies ckmeta
@@ -8209,7 +8334,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((ORPHANS > 0) ? LFS3_I_MKCONSISTENT : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((ORPHANS > 0) ? LFS3_I_MKCONSISTENT : 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
@@ -8297,7 +8424,9 @@ code = '''
// and we should be marked as consistent
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((!RELOOKAHEAD || ORPHANS > 0) ? LFS3_I_RELOOKAHEAD : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((!RELOOKAHEAD || ORPHANS > 0) ? LFS3_I_RELOOKAHEAD : 0)
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
// note ckdata implies ckmeta
@@ -8401,7 +8530,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((ORPHANS > 0) ? LFS3_I_MKCONSISTENT : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((ORPHANS > 0) ? LFS3_I_MKCONSISTENT : 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
@@ -8489,7 +8620,9 @@ code = '''
// and we should be marked as consistent
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((!RELOOKAHEAD || ORPHANS > 0) ? LFS3_I_RELOOKAHEAD : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((!RELOOKAHEAD || ORPHANS > 0) ? LFS3_I_RELOOKAHEAD : 0)
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1) : 0)
| LFS3_I_COMPACTMETA
// note ckdata implies ckmeta
@@ -8611,7 +8744,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((ORPHANS > 0) ? LFS3_I_MKCONSISTENT : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((ORPHANS > 0) ? LFS3_I_MKCONSISTENT : 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP && ORPHANS >= 100)
? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
@@ -8685,7 +8820,9 @@ code = '''
// still marked as uncompacted
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP && ORPHANS >= 100)
? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
: 0)
@@ -8712,7 +8849,9 @@ code = '''
// uncompacted flag should have been cleared
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
| ((GBMAP && ORPHANS >= 100)
? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
: 0)
@@ -8814,7 +8953,9 @@ code = '''
struct lfs3_fsinfo fsinfo;
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
LFS3_I_RELOOKAHEAD
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| LFS3_I_RELOOKAHEAD
| LFS3_I_COMPACTMETA
| LFS3_I_CKMETA
| LFS3_I_CKDATA
@@ -8905,7 +9046,9 @@ code = '''
// if we introduced actual orphans, we _must_ be marked as inconsistent
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
assert(fsinfo.flags == (
((ORPHANS >= 3) ? LFS3_I_MKCONSISTENT : 0)
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
| ((ORPHANS >= 3) ? LFS3_I_MKCONSISTENT : 0)
| LFS3_I_RELOOKAHEAD
| ((GBMAP && ORPHANS >= 100)
? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)