From 673fa7876f43c213eb12059a4d3e65552fd5b5f4 Mon Sep 17 00:00:00 2001 From: Christopher Haster Date: Mon, 10 Nov 2025 00:35:46 -0600 Subject: [PATCH] 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%) --- lfs3.c | 194 +++++++++++----------------- lfs3.h | 7 -- lfs3_util.h | 12 ++ scripts/dbgflags.py | 4 - tests/test_gc.toml | 24 +++- tests/test_mount.toml | 54 +++++--- tests/test_trvs.toml | 287 +++++++++++++++++++++++++++++++----------- 7 files changed, 353 insertions(+), 229 deletions(-) diff --git a/lfs3.c b/lfs3.c index bf3476da..8e1fc7f7 100644 --- a/lfs3.c +++ b/lfs3.c @@ -7526,19 +7526,6 @@ static inline bool lfs3_f_isgbmap(uint32_t flags) { } #endif -// other internal flags -#ifdef LFS3_REVDBG -static inline bool lfs3_i_isinmtree(uint32_t flags) { - return (flags & LFS3_i_INMODE) == LFS3_i_INMTREE; -} -#endif - -#ifdef LFS3_REVDBG -static inline bool lfs3_i_isingbmap(uint32_t flags) { - return (flags & LFS3_i_INMODE) == LFS3_i_INGBMAP; -} -#endif - /// Handles - opened mdir things /// @@ -7946,24 +7933,21 @@ static int lfs3_fs_consumegdelta(lfs3_t *lfs3, const lfs3_mdir_t *mdir) { /// Revision count things /// -// in mdirs, our revision count is broken down into three parts: +// in mdirs, our revision count is broken down into 1-4 parts: // +// vvvv---- -------- -------- -------- +// vvvvrrrr rrrrrr-- -------- -------- // vvvvrrrr rrrrrrnn nnnnnnnn nnnnnnnn -// '-.''----.----''---------.--------' -// '------|---------------|---------- 4-bit relocation revision -// '---------------|---------- recycle-bits recycle counter -// '---------- pseudorandom noise (if revnoise) -// -// in revdbg mode, the bottom 24 bits are initialized with a hint based -// on rbyd type, though it may be overwritten by the recycle counter if -// it overlaps: -// -// vvvv---- --1----1 -11-1--1 -11-1--- (68 69 21 v0 hi!r) mroot anchor -// vvvv---- -111111- -111--1- -11-11-1 (6d 72 7e v0 mr~r) mroot -// vvvv---- -111111- -11--1-- -11-11-1 (6d 64 7e v0 md~r) mdir -// vvvv---- -111111- -111-1-- -11---1- (62 74 7e v0 bt~r) file btree node -// vvvv---- -111111- -11-11-1 -11---1- (62 6d 7e v0 bm~r) mtree node -// vvvv---- -111111- -11---1- -11---1- (62 62 7e v0 bb~r) gbmap node +// 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 // // needed in lfs3_rev_init @@ -7979,24 +7963,32 @@ static inline uint32_t lfs3_rev_init(lfs3_t *lfs3, const lfs3_mdir_t *mdir, rev &= ~((1 << 28)-1); // increment revision rev += 1 << 28; + // xor in pseudorandom noise? + #ifdef LFS3_REVNOISE + if (lfs3_m_isrevnoise(lfs3->flags)) { + rev ^= ((1 << (28-lfs3_smax(lfs3->recycle_bits, 0)))-1) + // we need to use gcksum_p because we have be in the + // middle of updating the gcksum + & lfs3->gcksum_p; + } + #endif // include debug bits? #ifdef LFS3_REVDBG if (lfs3_m_isrevdbg(lfs3->flags)) { + uint32_t mask = (1 << (28-lfs3_smax(lfs3->recycle_bits, 0)))-1; + // mroot anchor? + if (lfs3_mdir_ismrootanchor(mdir)) { + rev = (rev & ~(mask & 0xff)) | (mask & 0x68); // mroot? - if (mdir->mid <= -1 || lfs3_mdir_cmp(mdir, &lfs3->mroot) == 0) { - rev |= 0x007e726d; // mr~r + } else if (mdir->mid <= -1 + || lfs3_mdir_cmp(mdir, &lfs3->mroot) == 0) { + rev = (rev & ~(mask & 0xff)) | (mask & 0x69); // mdir? } else { - rev |= 0x007e646d; // md~r + rev = (rev & ~(mask & 0xff)) | (mask & 0x6d); } } #endif - // xor in pseudorandom noise - #ifdef LFS3_REVNOISE - if (lfs3_m_isrevnoise(lfs3->flags)) { - rev ^= ((1 << (28-lfs3_smax(lfs3->recycle_bits, 0)))-1) & lfs3->gcksum; - } - #endif return rev; } #endif @@ -8007,26 +7999,20 @@ static inline uint32_t lfs3_rev_init(lfs3_t *lfs3, const lfs3_mdir_t *mdir, static inline uint32_t lfs3_rev_btree(lfs3_t *lfs3) { (void)lfs3; uint32_t rev = 0; - // include debug bits? - #ifdef LFS3_REVDBG - if (lfs3_m_isrevdbg(lfs3->flags)) { - // mtree? - if (lfs3_i_isinmtree(lfs3->flags)) { - rev |= 0x007e6d62; // bm~r - // gbmap? - } else if (lfs3_i_isingbmap(lfs3->flags)) { - rev |= 0x007e6262; // bb~r - // file btree? - } else { - rev |= 0x007e7462; // bt~r - } - } - #endif - // xor in pseudorandom noise + // xor in pseudorandom noise? #ifdef LFS3_REVNOISE if (lfs3_m_isrevnoise(lfs3->flags)) { // keep the top nibble zero - rev ^= 0x0fffffff & lfs3->gcksum; + rev ^= 0x0fffffff + // we need to use gcksum_p because we have be in the + // middle of updating the gcksum + & lfs3->gcksum_p; + } + #endif + // include debug bits? + #ifdef LFS3_REVDBG + if (lfs3_m_isrevdbg(lfs3->flags)) { + rev = (rev & ~0xff) | 0x62; } #endif return rev; @@ -8046,13 +8032,35 @@ static inline bool lfs3_rev_needsrelocation(lfs3_t *lfs3, uint32_t rev) { #endif #ifndef LFS3_RDONLY -static inline uint32_t lfs3_rev_inc(lfs3_t *lfs3, uint32_t rev) { +static inline uint32_t lfs3_rev_inc(lfs3_t *lfs3, const lfs3_mdir_t *mdir, + uint32_t rev) { + (void)mdir; // increment recycle counter/revision rev += 1 << (28-lfs3_smax(lfs3->recycle_bits, 0)); - // xor in pseudorandom noise + // xor in pseudorandom noise? #ifdef LFS3_REVNOISE if (lfs3_m_isrevnoise(lfs3->flags)) { - rev ^= ((1 << (28-lfs3_smax(lfs3->recycle_bits, 0)))-1) & lfs3->gcksum; + rev ^= ((1 << (28-lfs3_smax(lfs3->recycle_bits, 0)))-1) + // we need to use gcksum_p because we have be in the + // middle of updating the gcksum + & lfs3->gcksum_p; + } + #endif + // include debug bits? + #ifdef LFS3_REVDBG + if (lfs3_m_isrevdbg(lfs3->flags)) { + uint32_t mask = (1 << (28-lfs3_smax(lfs3->recycle_bits, 0)))-1; + // mroot anchor? + if (lfs3_mdir_ismrootanchor(mdir)) { + rev = (rev & ~(mask & 0xff)) | (mask & 0x68); + // mroot? + } else if (mdir->mid <= -1 + || lfs3_mdir_cmp(mdir, &lfs3->mroot) == 0) { + rev = (rev & ~(mask & 0xff)) | (mask & 0x69); + // mdir? + } else { + rev = (rev & ~(mask & 0xff)) | (mask & 0x6d); + } } #endif return rev; @@ -8293,30 +8301,10 @@ static int lfs3_mtree_lookup(lfs3_t *lfs3, lfs3_smid_t mid, } } -// this is the same as lfs3_btree_commit, but we set the inmtree flag -// for debugging reasons #ifndef LFS3_RDONLY static int lfs3_mtree_commit(lfs3_t *lfs3, lfs3_btree_t *mtree, lfs3_bid_t bid, const lfs3_rattr_t *rattrs, lfs3_size_t rattr_count) { - #ifdef LFS3_REVDBG - lfs3->flags |= LFS3_i_INMTREE; - #endif - - int err = lfs3_btree_commit(lfs3, mtree, bid, rattrs, rattr_count); - if (err) { - goto failed; - } - - #ifdef LFS3_REVDBG - lfs3->flags &= ~LFS3_i_INMTREE; - #endif - return 0; - -failed:; - #ifdef LFS3_REVDBG - lfs3->flags &= ~LFS3_i_INMTREE; - #endif - return err; + return lfs3_btree_commit(lfs3, mtree, bid, rattrs, rattr_count); } #endif @@ -8409,7 +8397,7 @@ static int lfs3_mdir_swap___(lfs3_t *lfs3, lfs3_mdir_t *mdir_, // note we allow corrupt errors here, as long as they are consistent rev = (err != LFS3_ERR_CORRUPT) ? lfs3_fromle32(&rev) : 0; // increment our revision count - rev = lfs3_rev_inc(lfs3, rev); + rev = lfs3_rev_inc(lfs3, mdir_, rev); // decide if we need to relocate if (!force && lfs3_rev_needsrelocation(lfs3, rev)) { @@ -10713,30 +10701,10 @@ static lfs3_stag_t lfs3_gbmap_lookupnext(lfs3_t *lfs3, lfs3_btree_t *gbmap, } #endif -// this is the same as lfs3_btree_commit, but we set the ingbmap flag -// for debugging reasons #if !defined(LFS3_RDONLY) && defined(LFS3_GBMAP) static int lfs3_gbmap_commit(lfs3_t *lfs3, lfs3_btree_t *gbmap, lfs3_bid_t bid, const lfs3_rattr_t *rattrs, lfs3_size_t rattr_count) { - #ifdef LFS3_REVDBG - lfs3->flags |= LFS3_i_INGBMAP; - #endif - - int err = lfs3_btree_commit(lfs3, gbmap, bid, rattrs, rattr_count); - if (err) { - goto failed; - } - - #ifdef LFS3_REVDBG - lfs3->flags &= ~LFS3_i_INGBMAP; - #endif - return 0; - -failed:; - #ifdef LFS3_REVDBG - lfs3->flags &= ~LFS3_i_INGBMAP; - #endif - return err; + return lfs3_btree_commit(lfs3, gbmap, bid, rattrs, rattr_count); } #endif @@ -14968,11 +14936,6 @@ static int lfs3_init(lfs3_t *lfs3, uint32_t flags, | LFS3_IFDEF_CKMETAPARITY(LFS3_M_CKMETAPARITY, 0) | LFS3_IFDEF_CKDATACKSUMS(LFS3_M_CKDATACKSUMS, 0) | LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, 0))) == 0); - // LFS3_M_REVDBG and LFS3_M_REVNOISE are incompatible - #if defined(LFS3_REVNOISE) && defined(LFS3_REVDBG) - LFS3_ASSERT(!lfs3_m_isrevdbg(flags) || !lfs3_m_isrevnoise(flags)); - #endif - // TODO this all needs to be cleaned up lfs3->cfg = cfg; int err = 0; @@ -16032,10 +15995,6 @@ int lfs3_unmount(lfs3_t *lfs3) { #if !defined(LFS3_RDONLY) && defined(LFS3_GBMAP) static int lfs3_formatgbmap(lfs3_t *lfs3) { - #ifdef LFS3_REVDBG - lfs3->flags |= LFS3_i_INGBMAP; - #endif - // TODO should we try multiple blocks? // // TODO if we try multiple blocks we should update test_badblocks @@ -16052,14 +16011,14 @@ static int lfs3_formatgbmap(lfs3_t *lfs3) { int err = lfs3_bd_erase(lfs3, lfs3->gbmap.b.r.blocks[0]); if (err) { - goto failed; + return err; } #if defined(LFS3_REVDBG) || defined(LFS3_REVNOISE) // append a revision count? err = lfs3_rbyd_appendrev(lfs3, &lfs3->gbmap.b.r, lfs3_rev_btree(lfs3)); if (err) { - goto failed; + return err; } #endif @@ -16071,19 +16030,10 @@ static int lfs3_formatgbmap(lfs3_t *lfs3) { ? LFS3_RATTR(LFS3_TAG_BMFREE, +(lfs3->block_count - 3)) : LFS3_RATTR_NOOP())); if (err) { - goto failed; + return err; } - #ifdef LFS3_REVDBG - lfs3->flags &= ~LFS3_i_INGBMAP; - #endif return 0; - -failed:; - #ifdef LFS3_REVDBG - lfs3->flags &= ~LFS3_i_INGBMAP; - #endif - return err; } #endif diff --git a/lfs3.h b/lfs3.h index e4d9171a..a219e682 100644 --- a/lfs3.h +++ b/lfs3.h @@ -296,13 +296,6 @@ enum lfs3_type { #define LFS3_I_GBMAP 0x01000000 // Global on-disk block-map in use #endif -// internally used flags, don't use these -#ifdef LFS3_REVDBG -#define LFS3_i_INMODE 0x00030000 // Btree commit mode -#define LFS3_i_INMTREE 0x00010000 // Committing to mtree -#define LFS3_i_INGBMAP 0x00020000 // Committing to gbmap -#endif - // Block types enum lfs3_btype { diff --git a/lfs3_util.h b/lfs3_util.h index de33971d..52ef96b8 100644 --- a/lfs3_util.h +++ b/lfs3_util.h @@ -215,12 +215,24 @@ #define LFS3_IFDEF_REVDBG(a, b) (b) #endif +#ifdef LFS3_YES_REVDBG +#define LFS3_IFDEF_YES_REVDBG(a, b) (a) +#else +#define LFS3_IFDEF_YES_REVDBG(a, b) (b) +#endif + #ifdef LFS3_REVNOISE #define LFS3_IFDEF_REVNOISE(a, b) (a) #else #define LFS3_IFDEF_REVNOISE(a, b) (b) #endif +#ifdef LFS3_YES_REVNOISE +#define LFS3_IFDEF_YES_REVNOISE(a, b) (a) +#else +#define LFS3_IFDEF_YES_REVNOISE(a, b) (b) +#endif + #ifdef LFS3_CKPROGS #define LFS3_IFDEF_CKPROGS(a, b) (a) #else diff --git a/scripts/dbgflags.py b/scripts/dbgflags.py index e80f3ead..1cca8fea 100755 --- a/scripts/dbgflags.py +++ b/scripts/dbgflags.py @@ -130,10 +130,6 @@ I_CKDATA = 0x00002000 # -- Data checksums not checked recently I_GBMAP = 0x01000000 # -- Global on-disk block-map in use -i_INMODE = 0x00030000 # im Btree commit mode -i_INMTREE = 0x00010000 # i^ Committing to mtree -i_INGBMAP = 0x00020000 # i^ Committing to gbmap - # Traversal flags T_MODE = 1 # -m The traversal's access mode T_RDWR = 0 # -^ Open traversal as read and write diff --git a/tests/test_gc.toml b/tests/test_gc.toml index f8efa1fe..3512d868 100644 --- a/tests/test_gc.toml +++ b/tests/test_gc.toml @@ -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) diff --git a/tests/test_mount.toml b/tests/test_mount.toml index 31332e17..a293dacf 100644 --- a/tests/test_mount.toml +++ b/tests/test_mount.toml @@ -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) diff --git a/tests/test_trvs.toml b/tests/test_trvs.toml index 4c808015..98b1becc 100644 --- a/tests/test_trvs.toml +++ b/tests/test_trvs.toml @@ -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)