mirror of
https://github.com/littlefs-project/littlefs.git
synced 2025-12-01 12:20:02 +00:00
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:
194
lfs3.c
194
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
|
||||
|
||||
|
||||
7
lfs3.h
7
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 {
|
||||
|
||||
12
lfs3_util.h
12
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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
|
||||
Reference in New Issue
Block a user