alloc: Merged LOOKAHEAD+LOOKGBMAP -> single LOOKAHEAD flag
Our flag space is already really packed, and I'm not sure having these
as separate flags is meaningful or useful for users. They both indicate
to repopulate allocators, and most users probably won't care that there
are two subtly different allocators operating under the hood.
There's an argument that LOOKAHEAD not touching disk is a useful
distinction, but in practice you really only need LOOKAHEAD work when
mounted RDWR.
So, merged the behaviors of LOOKAHEAD + LOOKGBMAP such that
LFS3_*_LOOKAHEAD requests repopulation of all allocators based on
gc_lookahead_thresh and gc_lookgbmap_thresh.
In priority order (some notes below):
1. If max(lookahead, gbmap) < gc_lookahead_thresh => repop lookahead
2. If gbmap < gc_lookgbmap_thresh => repop gbmap
As a plus, this makes it easier to avoid LFS3_IFDEF_GBMAP mess.
---
It's interesting to note LFS3_*_LOOKAHEAD will still repopulate the
lookahead buffer when the gbmap is present, but only if this would gain
more knowledge than was is currently in the gbmap.
I considered disabling lookahead scans completely when we have a gbmap,
but repopulating the lookahead buffer is still useful if the gbmap is at
risk of exhaustion. This is what gc_lookahead_thresh is for anyways, and
users can set gc_lookahead_thresh=0 if they want to disable this
behavior.
Relatedly, lookahead scans are actually prioritized over gbmap scans
(when they would gain knowledge). In theory this minimizes gc latency,
as gbmap scans risk triggering a full lookahead scan when building the
new gbmap.
---
Code changes minimal:
code stack ctx
before: 35152 2136 660
after: 35152 (+0.0%) 2136 (+0.0%) 660 (+0.0%)
code stack ctx
gbmap before: 38076 2136 776
gbmap after: 38080 (+0.0%) 2136 (+0.0%) 776 (+0.0%)
This commit is contained in:
+50
-184
@@ -14,7 +14,7 @@ if = '''
|
||||
|
||||
|
||||
# test that lookahead can make progress in isolation
|
||||
[cases.test_gc_relookahead_progress]
|
||||
[cases.test_gc_lookahead_progress]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
@@ -31,6 +31,7 @@ defines.SIZE = [
|
||||
'2*BLOCK_SIZE',
|
||||
'8*BLOCK_SIZE',
|
||||
]
|
||||
if = '!GBMAP'
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
@@ -83,7 +84,7 @@ code = '''
|
||||
'''
|
||||
|
||||
# test that lookahead dirtying still works with the GC API
|
||||
[cases.test_gc_relookahead_mutation]
|
||||
[cases.test_gc_lookahead_mutation]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
@@ -99,8 +100,11 @@ defines.SIZE = [
|
||||
'2*BLOCK_SIZE',
|
||||
'8*BLOCK_SIZE',
|
||||
]
|
||||
# we need something to keep the traversal running
|
||||
if = 'CKMETA || CKDATA'
|
||||
if = [
|
||||
'!GBMAP',
|
||||
# we need something to keep the traversal running
|
||||
'CKMETA || CKDATA',
|
||||
]
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
@@ -161,10 +165,10 @@ code = '''
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
'''
|
||||
|
||||
# test that we can relax lookahead repopulation with
|
||||
# gc_relookahead_thresh
|
||||
[cases.test_gc_relookahead_relaxed]
|
||||
# relax our repop thresh
|
||||
# test that we can relax lookahead scanning with
|
||||
# gc_lookahead_thresh
|
||||
[cases.test_gc_lookahead_relaxed]
|
||||
# relax our lookahead thresh
|
||||
defines.GC_LOOKAHEAD_THRESH = [
|
||||
'-1',
|
||||
'8*LOOKAHEAD_SIZE - (8*LOOKAHEAD_SIZE/4)',
|
||||
@@ -179,6 +183,7 @@ defines.GC_FLAGS = '''
|
||||
'''
|
||||
defines.GC_STEPS = [-1, 1, 2, 10, 100, 1000]
|
||||
defines.SIZE = 'BLOCK_SIZE'
|
||||
if = '!GBMAP'
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
@@ -273,14 +278,12 @@ code = '''
|
||||
'''
|
||||
|
||||
|
||||
# test that regbmap can make progress in isolation
|
||||
[cases.test_gc_regbmap_progress]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
# test that lookgbmap can make progress in isolation
|
||||
[cases.test_gc_lookgbmap_progress]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
LFS3_GC_LOOKGBMAP
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
LFS3_GC_LOOKAHEAD
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
'''
|
||||
@@ -317,7 +320,7 @@ code = '''
|
||||
// expect dirty initial state or else our test doesn't work
|
||||
struct lfs3_fsinfo fsinfo;
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
assert(fsinfo.flags & LFS3_I_LOOKGBMAP);
|
||||
assert(fsinfo.flags & LFS3_I_LOOKAHEAD);
|
||||
assert(lfs3.handles != &lfs3.gc.t.h);
|
||||
|
||||
// run GC until we make progress
|
||||
@@ -328,7 +331,7 @@ code = '''
|
||||
lfs3_fs_gc(&lfs3) => 0;
|
||||
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & LFS3_I_LOOKGBMAP)) {
|
||||
if (!(fsinfo.flags & LFS3_I_LOOKAHEAD)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -343,14 +346,12 @@ code = '''
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
'''
|
||||
|
||||
# test that regbmap dirtying still works with the GC API
|
||||
[cases.test_gc_regbmap_mutation]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
# test that lookgbmap dirtying still works with the GC API
|
||||
[cases.test_gc_lookgbmap_mutation]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
LFS3_GC_LOOKGBMAP
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
LFS3_GC_LOOKAHEAD
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
'''
|
||||
@@ -390,7 +391,7 @@ code = '''
|
||||
// expect dirty initial state or else our test doesn't work
|
||||
struct lfs3_fsinfo fsinfo;
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
assert(fsinfo.flags & LFS3_I_LOOKGBMAP);
|
||||
assert(fsinfo.flags & LFS3_I_LOOKAHEAD);
|
||||
assert(lfs3.handles != &lfs3.gc.t.h);
|
||||
|
||||
// run GC one step
|
||||
@@ -413,7 +414,7 @@ code = '''
|
||||
|
||||
// we should _not_ make progress
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
assert(fsinfo.flags & LFS3_I_LOOKGBMAP);
|
||||
assert(fsinfo.flags & LFS3_I_LOOKAHEAD);
|
||||
|
||||
// check the file contents
|
||||
lfs3_file_open(&lfs3, &file, "spider", LFS3_O_RDONLY) => 0;
|
||||
@@ -425,20 +426,18 @@ code = '''
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
'''
|
||||
|
||||
# test that we can relax gbmap repopulation with gc_regbmap_thresh
|
||||
[cases.test_gc_regbmap_relaxed]
|
||||
# relax our repop thresh
|
||||
# test that we can relax gbmap repopulation with gc_lookgbmap_thresh
|
||||
[cases.test_gc_lookgbmap_relaxed]
|
||||
# relax our lookgbmap thresh
|
||||
defines.GC_LOOKGBMAP_THRESH = [
|
||||
'-1',
|
||||
'BLOCK_COUNT - (BLOCK_COUNT/4)',
|
||||
'BLOCK_COUNT - (BLOCK_COUNT/2)',
|
||||
]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
LFS3_GC_LOOKGBMAP
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
LFS3_GC_LOOKAHEAD
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
'''
|
||||
@@ -476,7 +475,7 @@ code = '''
|
||||
|
||||
struct lfs3_fsinfo fsinfo;
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & LFS3_I_LOOKGBMAP)) {
|
||||
if (!(fsinfo.flags & LFS3_I_LOOKAHEAD)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -503,7 +502,7 @@ code = '''
|
||||
|
||||
struct lfs3_fsinfo fsinfo;
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
if (fsinfo.flags & LFS3_I_LOOKGBMAP) {
|
||||
if (fsinfo.flags & LFS3_I_LOOKAHEAD) {
|
||||
// check that we actually relaxed repopulations
|
||||
if ((lfs3_size_t)GC_LOOKGBMAP_THRESH
|
||||
< BLOCK_COUNT-1) {
|
||||
@@ -524,7 +523,7 @@ code = '''
|
||||
|
||||
struct lfs3_fsinfo fsinfo;
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & LFS3_I_LOOKGBMAP)) {
|
||||
if (!(fsinfo.flags & LFS3_I_LOOKAHEAD)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1823,14 +1822,12 @@ done:;
|
||||
defines.AFTER = [0, 1, 2, 3]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_LOOKGBMAP, -1) : 0)
|
||||
| ((COMPACTMETA) ? LFS3_GC_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
@@ -1849,7 +1846,6 @@ defines.SIZE = [
|
||||
if = [
|
||||
'(SIZE*N)/BLOCK_SIZE <= 32',
|
||||
'LFS3_IFDEF_GC(true, AFTER != 0)',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
@@ -1888,10 +1884,8 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP)
|
||||
? (LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
& fsinfo.flags)
|
||||
| ((!GBMAP || (fsinfo.flags & LFS3_I_LOOKAHEAD))
|
||||
? LFS3_I_LOOKAHEAD
|
||||
: 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
@@ -1914,9 +1908,6 @@ code = '''
|
||||
if (!(fsinfo.flags & (
|
||||
((MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_I_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_I_CKDATA : 0)))) {
|
||||
@@ -1946,9 +1937,6 @@ code = '''
|
||||
if (!(fsinfo.flags & (
|
||||
((MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_I_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_I_CKDATA : 0)))) {
|
||||
@@ -1975,24 +1963,6 @@ code = '''
|
||||
lfs3_trv_close(&lfs3, &trv) => 0;
|
||||
}
|
||||
|
||||
#ifdef LFS3_GBMAP
|
||||
if (LOOKGBMAP && (fsinfo.flags & LFS3_I_LOOKGBMAP)) {
|
||||
// we need an explicit traversal for this
|
||||
lfs3_trv_t trv;
|
||||
lfs3_trv_open(&lfs3, &trv,
|
||||
LFS3_T_RDWR | LFS3_T_LOOKGBMAP) => 0;
|
||||
while (true) {
|
||||
struct lfs3_tinfo tinfo;
|
||||
int err = lfs3_trv_read(&lfs3, &trv, &tinfo);
|
||||
assert(err == 0 || err == LFS3_ERR_NOENT);
|
||||
if (err == LFS3_ERR_NOENT) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
lfs3_trv_close(&lfs3, &trv) => 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (COMPACTMETA && (fsinfo.flags & LFS3_I_COMPACTMETA)) {
|
||||
// we need an explicit traversal for this
|
||||
lfs3_trv_t trv;
|
||||
@@ -2033,12 +2003,9 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((!MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((!LOOKGBMAP)
|
||||
? ((GBMAP)
|
||||
? (LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
& fsinfo.flags)
|
||||
: 0)
|
||||
| ((!LOOKAHEAD
|
||||
&& (!GBMAP || (fsinfo.flags & LFS3_I_LOOKAHEAD)))
|
||||
? LFS3_I_LOOKAHEAD
|
||||
: 0)
|
||||
| ((!COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
// note ckdata implies ckmeta
|
||||
@@ -2058,14 +2025,12 @@ code = '''
|
||||
defines.AFTER = [0, 1, 2, 3]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_LOOKGBMAP, -1) : 0)
|
||||
| ((COMPACTMETA) ? LFS3_GC_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
@@ -2084,7 +2049,6 @@ defines.SIZE = [
|
||||
if = [
|
||||
'(SIZE*N)/BLOCK_SIZE <= 32',
|
||||
'LFS3_IFDEF_GC(true, AFTER != 0)',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
@@ -2123,10 +2087,8 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP)
|
||||
? (LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
& fsinfo.flags)
|
||||
| ((!GBMAP || (fsinfo.flags & LFS3_I_LOOKAHEAD))
|
||||
? LFS3_I_LOOKAHEAD
|
||||
: 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
@@ -2149,9 +2111,6 @@ code = '''
|
||||
if (!(fsinfo.flags & (
|
||||
((MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_I_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_I_CKDATA : 0)))) {
|
||||
@@ -2181,9 +2140,6 @@ code = '''
|
||||
if (!(fsinfo.flags & (
|
||||
((MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_I_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_I_CKDATA : 0)))) {
|
||||
@@ -2210,24 +2166,6 @@ code = '''
|
||||
lfs3_trv_close(&lfs3, &trv) => 0;
|
||||
}
|
||||
|
||||
#ifdef LFS3_GBMAP
|
||||
if (LOOKGBMAP && (fsinfo.flags & LFS3_I_LOOKGBMAP)) {
|
||||
// we need an explicit traversal for this
|
||||
lfs3_trv_t trv;
|
||||
lfs3_trv_open(&lfs3, &trv,
|
||||
LFS3_T_RDWR | LFS3_T_LOOKGBMAP) => 0;
|
||||
while (true) {
|
||||
struct lfs3_tinfo tinfo;
|
||||
int err = lfs3_trv_read(&lfs3, &trv, &tinfo);
|
||||
assert(err == 0 || err == LFS3_ERR_NOENT);
|
||||
if (err == LFS3_ERR_NOENT) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
lfs3_trv_close(&lfs3, &trv) => 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (COMPACTMETA && (fsinfo.flags & LFS3_I_COMPACTMETA)) {
|
||||
// we need an explicit traversal for this
|
||||
lfs3_trv_t trv;
|
||||
@@ -2268,12 +2206,9 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((!MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((!LOOKGBMAP)
|
||||
? ((GBMAP)
|
||||
? (LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
& fsinfo.flags)
|
||||
: 0)
|
||||
| ((!LOOKAHEAD
|
||||
&& (!GBMAP || (fsinfo.flags & LFS3_I_LOOKAHEAD)))
|
||||
? LFS3_I_LOOKAHEAD
|
||||
: 0)
|
||||
| ((!COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
// note ckdata implies ckmeta
|
||||
@@ -2290,13 +2225,9 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1U)
|
||||
: (GBMAP)
|
||||
? (LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
& fsinfo.flags)
|
||||
: 0)
|
||||
| ((!GBMAP || (fsinfo.flags & LFS3_I_LOOKAHEAD))
|
||||
? LFS3_I_LOOKAHEAD
|
||||
: 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
// note ckdata implies ckmeta, but uncking ckdata does
|
||||
// _not_ imply uncking ckmeta
|
||||
@@ -2320,9 +2251,6 @@ code = '''
|
||||
if (!(fsinfo.flags & (
|
||||
((MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_I_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_I_CKDATA : 0)))) {
|
||||
@@ -2352,9 +2280,6 @@ code = '''
|
||||
if (!(fsinfo.flags & (
|
||||
((MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_I_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_I_CKDATA : 0)))) {
|
||||
@@ -2381,24 +2306,6 @@ code = '''
|
||||
lfs3_trv_close(&lfs3, &trv) => 0;
|
||||
}
|
||||
|
||||
#ifdef LFS3_GBMAP
|
||||
if (LOOKGBMAP && (fsinfo.flags & LFS3_I_LOOKGBMAP)) {
|
||||
// we need an explicit traversal for this
|
||||
lfs3_trv_t trv;
|
||||
lfs3_trv_open(&lfs3, &trv,
|
||||
LFS3_T_RDWR | LFS3_T_LOOKGBMAP) => 0;
|
||||
while (true) {
|
||||
struct lfs3_tinfo tinfo;
|
||||
int err = lfs3_trv_read(&lfs3, &trv, &tinfo);
|
||||
assert(err == 0 || err == LFS3_ERR_NOENT);
|
||||
if (err == LFS3_ERR_NOENT) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
lfs3_trv_close(&lfs3, &trv) => 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (COMPACTMETA && (fsinfo.flags & LFS3_I_COMPACTMETA)) {
|
||||
// we need an explicit traversal for this
|
||||
lfs3_trv_t trv;
|
||||
@@ -2439,12 +2346,9 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((!MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((!LOOKGBMAP)
|
||||
? ((GBMAP)
|
||||
? (LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
& fsinfo.flags)
|
||||
: 0)
|
||||
| ((!LOOKAHEAD
|
||||
&& (!GBMAP || (fsinfo.flags & LFS3_I_LOOKAHEAD)))
|
||||
? LFS3_I_LOOKAHEAD
|
||||
: 0)
|
||||
| ((!COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
// note ckdata implies ckmeta
|
||||
@@ -2461,14 +2365,12 @@ code = '''
|
||||
defines.N = 100
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_LOOKGBMAP, -1) : 0)
|
||||
| ((COMPACTMETA) ? LFS3_GC_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
@@ -2484,7 +2386,6 @@ defines.SIZE = [
|
||||
'2*BLOCK_SIZE',
|
||||
'8*BLOCK_SIZE',
|
||||
]
|
||||
if = 'GBMAP || !LOOKGBMAP'
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
@@ -2536,14 +2437,12 @@ code = '''
|
||||
defines.N = 100
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_LOOKGBMAP, -1) : 0)
|
||||
| ((COMPACTMETA) ? LFS3_GC_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
@@ -2559,7 +2458,6 @@ defines.SIZE = [
|
||||
'2*BLOCK_SIZE',
|
||||
'8*BLOCK_SIZE',
|
||||
]
|
||||
if = 'GBMAP || !LOOKGBMAP'
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
@@ -2614,14 +2512,12 @@ code = '''
|
||||
[cases.test_gc_nospc]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_LOOKGBMAP, -1) : 0)
|
||||
| ((COMPACTMETA) ? LFS3_GC_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
@@ -2631,7 +2527,6 @@ defines.GC_STEPS = [1, 2, 10, 100, 1000]
|
||||
# set compactmeta thresh to minimum
|
||||
defines.GC_COMPACTMETA_THRESH = 'BLOCK_SIZE/2'
|
||||
defines.SIZE = 'BLOCK_SIZE'
|
||||
if = 'GBMAP || !LOOKGBMAP'
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
@@ -2722,7 +2617,6 @@ code = '''
|
||||
[cases.test_gc_spam_dir_many]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
@@ -2730,7 +2624,6 @@ defines.UNCK = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_LOOKGBMAP, -1) : 0)
|
||||
| ((COMPACTMETA) ? LFS3_GC_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
@@ -2739,7 +2632,6 @@ defines.GC_STEPS = [-1, 1, 2, 10, 100, 1000]
|
||||
# set compactmeta thresh to minimum
|
||||
defines.GC_COMPACTMETA_THRESH = 'BLOCK_SIZE/2'
|
||||
defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256]
|
||||
if = 'GBMAP || !LOOKGBMAP'
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
// test creating directories
|
||||
@@ -2832,7 +2724,6 @@ code = '''
|
||||
[cases.test_gc_spam_dir_fuzz]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
@@ -2840,7 +2731,6 @@ defines.UNCK = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_LOOKGBMAP, -1) : 0)
|
||||
| ((COMPACTMETA) ? LFS3_GC_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
@@ -2852,7 +2742,6 @@ defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256]
|
||||
defines.OPS = '2*N'
|
||||
defines.SEED = 42
|
||||
fuzz = 'SEED'
|
||||
if = 'GBMAP || !LOOKGBMAP'
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
// test fuzz with dirs
|
||||
@@ -3013,7 +2902,6 @@ code = '''
|
||||
[cases.test_gc_spam_file_many]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
@@ -3021,7 +2909,6 @@ defines.UNCK = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_LOOKGBMAP, -1) : 0)
|
||||
| ((COMPACTMETA) ? LFS3_GC_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
@@ -3039,10 +2926,7 @@ defines.SIZE = [
|
||||
'2*BLOCK_SIZE',
|
||||
'4*BLOCK_SIZE',
|
||||
]
|
||||
if = [
|
||||
'(SIZE*N)/BLOCK_SIZE <= 32',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
if = '(SIZE*N)/BLOCK_SIZE <= 32'
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
// test creating files
|
||||
@@ -3119,7 +3003,6 @@ code = '''
|
||||
[cases.test_gc_spam_file_fuzz]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
@@ -3127,7 +3010,6 @@ defines.UNCK = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_LOOKGBMAP, -1) : 0)
|
||||
| ((COMPACTMETA) ? LFS3_GC_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
@@ -3148,10 +3030,7 @@ defines.SIZE = [
|
||||
]
|
||||
defines.SEED = 42
|
||||
fuzz = 'SEED'
|
||||
if = [
|
||||
'(SIZE*N)/BLOCK_SIZE <= 16',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
if = '(SIZE*N)/BLOCK_SIZE <= 16'
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
// test fuzz with files
|
||||
@@ -3364,7 +3243,6 @@ code = '''
|
||||
[cases.test_gc_spam_fwrite_fuzz]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
@@ -3372,7 +3250,6 @@ defines.UNCK = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_LOOKGBMAP, -1) : 0)
|
||||
| ((COMPACTMETA) ? LFS3_GC_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
@@ -3402,7 +3279,6 @@ if = [
|
||||
'CHUNK <= SIZE',
|
||||
# this just saves testing time
|
||||
'SIZE <= 4*1024*FRAGMENT_SIZE',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
@@ -3527,7 +3403,6 @@ code = '''
|
||||
[cases.test_gc_spam_uz_fuzz]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
@@ -3535,7 +3410,6 @@ defines.UNCK = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_LOOKGBMAP, -1) : 0)
|
||||
| ((COMPACTMETA) ? LFS3_GC_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
@@ -3558,10 +3432,7 @@ defines.SIZE = [
|
||||
]
|
||||
defines.SEED = 42
|
||||
fuzz = 'SEED'
|
||||
if = [
|
||||
'(SIZE*N)/BLOCK_SIZE <= 16',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
if = '(SIZE*N)/BLOCK_SIZE <= 16'
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
// test with uncreats, zombies, etc
|
||||
@@ -3983,7 +3854,6 @@ code = '''
|
||||
[cases.test_gc_spam_uzd_fuzz]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
@@ -3991,7 +3861,6 @@ defines.UNCK = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_LOOKGBMAP, -1) : 0)
|
||||
| ((COMPACTMETA) ? LFS3_GC_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
@@ -4014,10 +3883,7 @@ defines.SIZE = [
|
||||
]
|
||||
defines.SEED = 42
|
||||
fuzz = 'SEED'
|
||||
if = [
|
||||
'(SIZE*N)/BLOCK_SIZE <= 16',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
if = '(SIZE*N)/BLOCK_SIZE <= 16'
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
// test with uncreats, zombies, dirs, etc
|
||||
|
||||
+190
-89
@@ -1,12 +1,23 @@
|
||||
# Advanced mount tests
|
||||
after = ['test_mtree', 'test_trvs']
|
||||
|
||||
# Test both with and without the gbmap if available
|
||||
defines.GBMAP = [false, true]
|
||||
if = '''
|
||||
LFS3_IFDEF_YES_GBMAP(
|
||||
GBMAP,
|
||||
LFS3_IFDEF_GBMAP(true, !GBMAP))
|
||||
'''
|
||||
|
||||
|
||||
# test we can mount
|
||||
[cases.test_mount_simple]
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
'''
|
||||
@@ -25,7 +36,6 @@ defines.CKMETAPARITY = [false, true]
|
||||
defines.CKDATACKSUMS = [false, true]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
@@ -38,13 +48,14 @@ if = [
|
||||
'LFS3_IFDEF_CKDATACKSUMS(true, !CKDATACKSUMS)',
|
||||
'!RDONLY || !MKCONSISTENT',
|
||||
'!RDONLY || !LOOKAHEAD',
|
||||
'LFS3_IFDEF_YES_GBMAP(true, !LOOKGBMAP)',
|
||||
'!RDONLY || !LOOKGBMAP',
|
||||
'!RDONLY || !COMPACTMETA',
|
||||
]
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
lfs3_mount(&lfs3,
|
||||
((RDONLY) ? LFS3_M_RDONLY : LFS3_M_RDWR)
|
||||
| ((FLUSH) ? LFS3_M_FLUSH : 0)
|
||||
@@ -61,9 +72,6 @@ code = '''
|
||||
: 0)
|
||||
| ((MKCONSISTENT) ? LFS3_M_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_M_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_M_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_M_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_M_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_M_CKDATA : 0),
|
||||
@@ -87,12 +95,12 @@ code = '''
|
||||
? LFS3_IFDEF_CKDATACKSUMS(LFS3_I_CKDATACKSUMS, -1)
|
||||
: 0)
|
||||
| ((!MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((!LOOKAHEAD && !GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((!COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
// note ckdata implies ckmeta
|
||||
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
|
||||
| ((!CKDATA) ? LFS3_I_CKDATA : 0)
|
||||
| LFS3_IFDEF_YES_GBMAP(LFS3_I_GBMAP, 0)));
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_GBMAP, -1) : 0)));
|
||||
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
'''
|
||||
@@ -109,11 +117,9 @@ defines.CKMETAPARITY = [false, true]
|
||||
defines.CKDATACKSUMS = [false, true]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GBMAP = [false, true]
|
||||
if = [
|
||||
'LFS3_IFDEF_YES_REVDBG(REVDBG, LFS3_IFDEF_REVDBG(true, !REVDBG))',
|
||||
'LFS3_IFDEF_YES_REVNOISE(REVNOISE, LFS3_IFDEF_REVNOISE(true, !REVNOISE))',
|
||||
@@ -121,8 +127,6 @@ if = [
|
||||
'LFS3_IFDEF_CKFETCHES(true, !CKFETCHES)',
|
||||
'LFS3_IFDEF_CKMETAPARITY(true, !CKMETAPARITY)',
|
||||
'LFS3_IFDEF_CKDATACKSUMS(true, !CKDATACKSUMS)',
|
||||
'LFS3_IFDEF_YES_GBMAP(true, !LOOKGBMAP)',
|
||||
'LFS3_IFDEF_GBMAP(true, !GBMAP)',
|
||||
]
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
@@ -140,9 +144,6 @@ code = '''
|
||||
: 0)
|
||||
| ((MKCONSISTENT) ? LFS3_F_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_F_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_F_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_F_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_F_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_F_CKDATA : 0)
|
||||
@@ -157,13 +158,11 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((!GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
| LFS3_IFDEF_YES_GBMAP(
|
||||
LFS3_I_GBMAP,
|
||||
(GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_GBMAP, -1) : 0)));
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_GBMAP, -1) : 0)));
|
||||
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
'''
|
||||
@@ -171,14 +170,20 @@ code = '''
|
||||
|
||||
# test that on-mount traversals do what they say they do
|
||||
|
||||
[cases.test_mount_t_relookahead]
|
||||
[cases.test_mount_t_lookahead]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// by default we need a lookahead scan
|
||||
//
|
||||
// unless we have a gbmap, the gbmap is persistent so usually
|
||||
// _doesn't_ need a lookahead scan
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
struct lfs3_fsinfo fsinfo;
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
@@ -186,11 +191,11 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((!GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
| LFS3_IFDEF_YES_GBMAP(LFS3_I_GBMAP, 0)));
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_GBMAP, -1) : 0)));
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
// with LFS3_M_LOOKAHEAD, mount performs a lookahead scan
|
||||
@@ -209,12 +214,11 @@ code = '''
|
||||
// note ckdata implies ckmeta
|
||||
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
|
||||
| ((!CKDATA) ? LFS3_I_CKDATA : 0)
|
||||
| LFS3_IFDEF_YES_GBMAP(LFS3_I_GBMAP, 0)));
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_GBMAP, -1) : 0)));
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
'''
|
||||
|
||||
[cases.test_mount_t_regbmap]
|
||||
ifdef = 'LFS3_GBMAP'
|
||||
[cases.test_mount_t_lookgbmap]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.SIZE = [
|
||||
@@ -223,9 +227,14 @@ defines.SIZE = [
|
||||
'2*BLOCK_SIZE',
|
||||
'8*BLOCK_SIZE',
|
||||
]
|
||||
ifdef = 'LFS3_GBMAP'
|
||||
if = 'GBMAP'
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR | LFS3_F_GBMAP, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
uint32_t prng = 42;
|
||||
|
||||
@@ -237,11 +246,10 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
| LFS3_IFDEF_GBMAP(LFS3_I_GBMAP, 0)));
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_GBMAP, -1) : 0)));
|
||||
// write to a file
|
||||
lfs3_file_t file;
|
||||
lfs3_file_open(&lfs3, &file, "jellyfish",
|
||||
@@ -262,18 +270,16 @@ code = '''
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| LFS3_I_LOOKGBMAP
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
| LFS3_IFDEF_GBMAP(LFS3_I_GBMAP, 0)));
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_GBMAP, -1) : 0)));
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
// with LFS3_M_LOOKGBMAP, mount performs a gbmap repop
|
||||
// with LFS3_M_LOOKAHEAD, mount rebuild the gbmap
|
||||
lfs3_mount(&lfs3,
|
||||
LFS3_M_RDWR
|
||||
| LFS3_M_LOOKAHEAD
|
||||
| LFS3_M_LOOKGBMAP
|
||||
| ((CKMETA) ? LFS3_M_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_M_CKDATA : 0),
|
||||
CFG) => 0;
|
||||
@@ -286,7 +292,7 @@ code = '''
|
||||
// note ckdata implies ckmeta
|
||||
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
|
||||
| ((!CKDATA) ? LFS3_I_CKDATA : 0)
|
||||
| LFS3_IFDEF_GBMAP(LFS3_I_GBMAP, 0)));
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_GBMAP, -1) : 0)));
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
'''
|
||||
|
||||
@@ -306,7 +312,10 @@ defines.SIZE = [
|
||||
defines.GC_COMPACTMETA_THRESH = 'BLOCK_SIZE/2'
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
uint32_t prng = 42;
|
||||
|
||||
@@ -340,14 +349,13 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| LFS3_IFDEF_YES_GBMAP(
|
||||
(SIZE >= BLOCK_SIZE/4) ? LFS3_I_LOOKGBMAP : 0,
|
||||
0)
|
||||
| ((!GBMAP || SIZE >= BLOCK_SIZE/4)
|
||||
? LFS3_I_LOOKAHEAD
|
||||
: 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
| LFS3_IFDEF_YES_GBMAP(LFS3_I_GBMAP, 0)));
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_GBMAP, -1) : 0)));
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
// with LFS3_M_COMPACTMETA, mount compacts any uncompacted blocks
|
||||
@@ -363,14 +371,13 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_IFDEF_YES_GBMAP(
|
||||
(SIZE >= BLOCK_SIZE/4) ? LFS3_I_LOOKGBMAP : 0,
|
||||
0)
|
||||
| ((!LOOKAHEAD && (!GBMAP || SIZE >= BLOCK_SIZE/4))
|
||||
? LFS3_I_LOOKAHEAD
|
||||
: 0)
|
||||
// note ckdata implies ckmeta
|
||||
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
|
||||
| ((!CKDATA) ? LFS3_I_CKDATA : 0)
|
||||
| LFS3_IFDEF_YES_GBMAP(LFS3_I_GBMAP, 0)));
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_GBMAP, -1) : 0)));
|
||||
|
||||
// mdir should have been compacted
|
||||
lfs3_file_open(&lfs3, &file, "jellyfish", LFS3_O_RDONLY) => 0;
|
||||
@@ -396,7 +403,10 @@ defines.SIZE = 'FCACHE_SIZE/2'
|
||||
defines.ORPHANS = [0, 1, 2, 3, 100]
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
uint32_t prng = 42;
|
||||
|
||||
@@ -454,14 +464,13 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| LFS3_IFDEF_YES_GBMAP(
|
||||
(ORPHANS >= 100) ? LFS3_I_LOOKGBMAP : 0,
|
||||
0)
|
||||
| ((!GBMAP || ORPHANS >= 100)
|
||||
? LFS3_I_LOOKAHEAD
|
||||
: 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
| LFS3_IFDEF_YES_GBMAP(LFS3_I_GBMAP, 0)));
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_GBMAP, -1) : 0)));
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
// with LFS3_M_MKCONSISTENT, mount cleans up orphans eagerly
|
||||
@@ -477,15 +486,14 @@ code = '''
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_IFDEF_YES_GBMAP(
|
||||
(ORPHANS >= 100) ? LFS3_I_LOOKGBMAP : 0,
|
||||
0)
|
||||
| ((!LOOKAHEAD && (!GBMAP || ORPHANS >= 100))
|
||||
? LFS3_I_LOOKAHEAD
|
||||
: 0)
|
||||
| ((!COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
// note ckdata implies ckmeta
|
||||
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
|
||||
| ((!CKDATA) ? LFS3_I_CKDATA : 0)
|
||||
| LFS3_IFDEF_YES_GBMAP(LFS3_I_GBMAP, 0)));
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_GBMAP, -1) : 0)));
|
||||
|
||||
// check we can still read the files
|
||||
lfs3_file_open(&lfs3, &file, "cuttlefish", LFS3_O_RDONLY) => 0;
|
||||
@@ -524,7 +532,10 @@ code = '''
|
||||
assert(i < 2*BLOCK_COUNT);
|
||||
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
|
||||
// create an interesting filesystem
|
||||
@@ -613,7 +624,10 @@ code = '''
|
||||
assert(i < 2*BLOCK_COUNT);
|
||||
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
|
||||
// create an interesting filesystem
|
||||
@@ -696,7 +710,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// delete the magic string
|
||||
//
|
||||
@@ -719,7 +736,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// tweak the magic string
|
||||
//
|
||||
@@ -743,7 +763,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// bump the major version
|
||||
//
|
||||
@@ -769,7 +792,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// bump the minor version
|
||||
//
|
||||
@@ -795,7 +821,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// set the nonstandard rcompat flag, this will always be incompatible
|
||||
// with standard littlefs
|
||||
@@ -822,7 +851,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// set the nonstandard rcompat flag, this will always be incompatible
|
||||
// with standard littlefs
|
||||
@@ -852,7 +884,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// set the nonstandard ocompat flag, this will always be incompatible
|
||||
// with standard littlefs
|
||||
@@ -881,7 +916,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// set the rdonly flag, this prevents writing from a littlefs image
|
||||
//
|
||||
@@ -910,7 +948,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// set the wronly flag, this prevents reading from a littlefs image
|
||||
//
|
||||
@@ -938,7 +979,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// set a really far rcompat flag
|
||||
//
|
||||
@@ -969,7 +1013,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
uint8_t flags[9] = {0};
|
||||
flags[FLAG / 8] |= 1 << (FLAG % 8);
|
||||
@@ -1006,7 +1053,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// set a really far ocompat flag
|
||||
//
|
||||
@@ -1038,7 +1088,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// set a really far rcompat flag
|
||||
//
|
||||
@@ -1069,7 +1122,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
uint8_t flags[9] = {0};
|
||||
flags[FLAG / 8] |= 1 << (FLAG % 8);
|
||||
@@ -1103,7 +1159,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// set a really far ocompat flag
|
||||
//
|
||||
@@ -1134,7 +1193,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// set an incompatible block size
|
||||
//
|
||||
@@ -1161,7 +1223,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// set an incompatible block count
|
||||
//
|
||||
@@ -1188,7 +1253,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// set an incompatible block size
|
||||
//
|
||||
@@ -1212,7 +1280,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// set an incompatible file limit
|
||||
//
|
||||
@@ -1249,7 +1320,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// create an unknown config
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
@@ -1271,7 +1345,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// create some files
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
@@ -1359,7 +1436,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// create some files
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
@@ -1466,7 +1546,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// create some files
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
@@ -1576,7 +1659,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// create some files
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
@@ -1686,7 +1772,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// create some files
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
@@ -1805,7 +1894,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// create some files
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
@@ -1919,7 +2011,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// create some files
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
@@ -2029,7 +2124,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// create some files
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
@@ -2150,7 +2248,10 @@ in = 'lfs3.c'
|
||||
code = '''
|
||||
// create a superblock
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3, LFS3_F_RDWR, CFG) => 0;
|
||||
lfs3_format(&lfs3,
|
||||
LFS3_F_RDWR
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_F_GBMAP, -1) : 0),
|
||||
CFG) => 0;
|
||||
|
||||
// with some files
|
||||
lfs3_mount(&lfs3, LFS3_M_RDWR, CFG) => 0;
|
||||
|
||||
+46
-158
@@ -20,11 +20,9 @@ if = '''
|
||||
[cases.test_trvs_simple]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
if = 'GBMAP || !LOOKGBMAP'
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3,
|
||||
@@ -39,9 +37,6 @@ code = '''
|
||||
LFS3_T_RDWR
|
||||
| ((MKCONSISTENT) ? LFS3_T_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_T_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_T_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_T_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_T_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_T_CKDATA : 0)) => 0;
|
||||
@@ -85,9 +80,6 @@ code = '''
|
||||
LFS3_T_RDWR
|
||||
| ((MKCONSISTENT) ? LFS3_T_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_T_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_T_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_T_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_T_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_T_CKDATA : 0)) => 0;
|
||||
@@ -129,11 +121,9 @@ code = '''
|
||||
[cases.test_trvs_idempotent]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
if = 'GBMAP || !LOOKGBMAP'
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3,
|
||||
@@ -148,9 +138,6 @@ code = '''
|
||||
LFS3_T_RDWR
|
||||
| ((MKCONSISTENT) ? LFS3_T_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_T_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_T_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_T_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_T_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_T_CKDATA : 0)) => 0;
|
||||
@@ -1777,11 +1764,9 @@ done:;
|
||||
[cases.test_trvs_flags]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
if = 'GBMAP || !LOOKGBMAP'
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
lfs3_format(&lfs3,
|
||||
@@ -1797,7 +1782,7 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((!GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -1809,9 +1794,6 @@ code = '''
|
||||
LFS3_T_RDWR
|
||||
| ((MKCONSISTENT) ? LFS3_T_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_T_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_T_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_T_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_T_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_T_CKDATA : 0)) => 0;
|
||||
@@ -1837,7 +1819,7 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((!MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((!LOOKAHEAD && !GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((!COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
// note ckdata implies ckmeta
|
||||
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
|
||||
@@ -1937,7 +1919,7 @@ done:;
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((!GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -2012,7 +1994,7 @@ code = '''
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((!GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -2045,7 +2027,7 @@ code = '''
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((!GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -2136,7 +2118,7 @@ done:;
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((!GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -2231,7 +2213,7 @@ done:;
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((!GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -2334,7 +2316,7 @@ done:;
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((!GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -2418,9 +2400,8 @@ code = '''
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP && SIZE >= BLOCK_SIZE/4)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
| ((!GBMAP || SIZE >= BLOCK_SIZE/4)
|
||||
? LFS3_I_LOOKAHEAD
|
||||
: 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
@@ -2518,17 +2499,18 @@ code = '''
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
// ok we might've updated lookahead if write stayed in
|
||||
// cache
|
||||
| ((!LOOKAHEAD || SIZE > FCACHE_SIZE || SYNC)
|
||||
? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((GBMAP && SIZE >= BLOCK_SIZE/4)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
| (((!LOOKAHEAD || SIZE > FCACHE_SIZE || SYNC)
|
||||
&& (!GBMAP || SIZE >= BLOCK_SIZE/4))
|
||||
? LFS3_I_LOOKAHEAD
|
||||
: 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
// and maybe ckmeta/ckdata, note ckdata implies ckmeta
|
||||
| (((!CKMETA && !CKDATA) || SIZE > FCACHE_SIZE || SYNC)
|
||||
? LFS3_I_CKMETA : 0)
|
||||
? LFS3_I_CKMETA
|
||||
: 0)
|
||||
| ((!CKDATA || SIZE > FCACHE_SIZE || SYNC)
|
||||
? LFS3_I_CKDATA : 0)
|
||||
? LFS3_I_CKDATA
|
||||
: 0)
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_GBMAP, -1) : 0)));
|
||||
|
||||
// check the file contents
|
||||
@@ -2640,7 +2622,7 @@ done:;
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((!GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -2773,7 +2755,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -2896,7 +2877,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -3003,7 +2983,7 @@ done:;
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((!GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -3138,7 +3118,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -3263,7 +3242,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -3383,7 +3361,7 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((DESYNC) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((!(LOOKAHEAD && DESYNC)) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((!(LOOKAHEAD && DESYNC) && !GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
// note ckdata implies ckmeta
|
||||
| ((!(CKMETA && DESYNC) && !(CKDATA && DESYNC))
|
||||
@@ -3529,7 +3507,6 @@ done:;
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((DESYNC) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((!(LOOKAHEAD && DESYNC)) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
// note ckdata implies ckmeta
|
||||
| ((!(CKMETA && DESYNC) && !(CKDATA && DESYNC))
|
||||
@@ -3665,7 +3642,6 @@ done:;
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((DESYNC) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((!(LOOKAHEAD && DESYNC)) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
// note ckdata implies ckmeta
|
||||
| ((!(CKMETA && DESYNC) && !(CKDATA && DESYNC))
|
||||
@@ -3787,7 +3763,6 @@ done:;
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((DESYNC) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((!(LOOKAHEAD && DESYNC)) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
// note ckdata implies ckmeta
|
||||
| ((!(CKMETA && DESYNC) && !(CKDATA && DESYNC))
|
||||
@@ -3911,7 +3886,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -4037,7 +4011,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -4166,7 +4139,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -4308,7 +4280,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -4450,7 +4421,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -4572,7 +4542,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -4695,7 +4664,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -4831,7 +4799,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -4968,7 +4935,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -5159,7 +5125,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -5366,7 +5331,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -5568,7 +5532,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -5767,7 +5730,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -5972,7 +5934,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -6182,7 +6143,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -6397,7 +6357,6 @@ done:;
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -6470,7 +6429,7 @@ code = '''
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((!GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -6508,7 +6467,7 @@ code = '''
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((!GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -6533,7 +6492,7 @@ code = '''
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((!LOOKAHEAD && !GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
// note ckdata implies ckmeta
|
||||
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
|
||||
| ((!CKDATA) ? LFS3_I_CKDATA : 0)
|
||||
@@ -6620,7 +6579,6 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -6667,7 +6625,6 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -6695,7 +6652,6 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
// note ckdata implies ckmeta
|
||||
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
|
||||
| ((!CKDATA) ? LFS3_I_CKDATA : 0)
|
||||
@@ -6763,7 +6719,7 @@ code = '''
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((!GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -6804,7 +6760,6 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -6830,7 +6785,6 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
// note ckdata implies ckmeta
|
||||
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
|
||||
| ((!CKDATA) ? LFS3_I_CKDATA : 0)
|
||||
@@ -6925,7 +6879,7 @@ code = '''
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((!GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -6978,7 +6932,6 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -7005,7 +6958,6 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
// note ckdata implies ckmeta
|
||||
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
|
||||
| ((!CKDATA) ? LFS3_I_CKDATA : 0)
|
||||
@@ -7155,7 +7107,6 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -7215,7 +7166,6 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -7244,7 +7194,6 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
// note ckdata implies ckmeta
|
||||
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
|
||||
| ((!CKDATA) ? LFS3_I_CKDATA : 0)
|
||||
@@ -7399,7 +7348,6 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -7464,7 +7412,6 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -7493,7 +7440,6 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
// note ckdata implies ckmeta
|
||||
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
|
||||
| ((!CKDATA) ? LFS3_I_CKDATA : 0)
|
||||
@@ -7613,10 +7559,7 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((ORPHANS > 0) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP && ORPHANS >= 100)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((!GBMAP || ORPHANS >= 100) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -7683,9 +7626,9 @@ code = '''
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((!LOOKAHEAD || ORPHANS > 0) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((GBMAP && ORPHANS >= 100)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
| (((!LOOKAHEAD || ORPHANS > 0)
|
||||
&& (!GBMAP || ORPHANS >= 100))
|
||||
? LFS3_I_LOOKAHEAD
|
||||
: 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
// note ckdata implies ckmeta
|
||||
@@ -7765,7 +7708,7 @@ code = '''
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((!GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -7854,9 +7797,9 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((ORPHANS >= 3) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((!LOOKAHEAD || ORPHANS > 0) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((GBMAP && ORPHANS >= 100)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
| (((!LOOKAHEAD || ORPHANS > 0)
|
||||
&& (!GBMAP || ORPHANS >= 100))
|
||||
? LFS3_I_LOOKAHEAD
|
||||
: 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
// note ckdata implies ckmeta
|
||||
@@ -7963,7 +7906,6 @@ code = '''
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((ORPHANS > 0) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -8044,7 +7986,6 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((!LOOKAHEAD || ORPHANS > 0) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
// note ckdata implies ckmeta
|
||||
| (((!CKMETA && !CKDATA) || ORPHANS > 0) ? LFS3_I_CKMETA : 0)
|
||||
@@ -8150,7 +8091,6 @@ code = '''
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((ORPHANS > 0) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -8231,7 +8171,6 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((!LOOKAHEAD || ORPHANS > 0) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
// note ckdata implies ckmeta
|
||||
| (((!CKMETA && !CKDATA) || ORPHANS > 0) ? LFS3_I_CKMETA : 0)
|
||||
@@ -8338,7 +8277,6 @@ code = '''
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((ORPHANS > 0) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -8427,7 +8365,6 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((!LOOKAHEAD || ORPHANS > 0) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
// note ckdata implies ckmeta
|
||||
| (((!CKMETA && !CKDATA) || ORPHANS > 0) ? LFS3_I_CKMETA : 0)
|
||||
@@ -8534,7 +8471,6 @@ code = '''
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((ORPHANS > 0) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -8623,7 +8559,6 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((!LOOKAHEAD || ORPHANS > 0) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((GBMAP) ? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1) : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
// note ckdata implies ckmeta
|
||||
| (((!CKMETA && !CKDATA) || ORPHANS > 0) ? LFS3_I_CKMETA : 0)
|
||||
@@ -8747,9 +8682,8 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((ORPHANS > 0) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP && ORPHANS >= 100)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
| ((!GBMAP || ORPHANS >= 100)
|
||||
? LFS3_I_LOOKAHEAD
|
||||
: 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
@@ -8822,9 +8756,8 @@ code = '''
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP && ORPHANS >= 100)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
| ((!GBMAP || ORPHANS >= 100)
|
||||
? LFS3_I_LOOKAHEAD
|
||||
: 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
@@ -8851,9 +8784,8 @@ code = '''
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((GBMAP && ORPHANS >= 100)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
| ((!LOOKAHEAD && (!GBMAP || ORPHANS >= 100))
|
||||
? LFS3_I_LOOKAHEAD
|
||||
: 0)
|
||||
// note ckdata implies ckmeta
|
||||
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
|
||||
@@ -8955,7 +8887,7 @@ code = '''
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((!GBMAP) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -9049,9 +8981,8 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((ORPHANS >= 3) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP && ORPHANS >= 100)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
| ((!GBMAP || ORPHANS >= 100)
|
||||
? LFS3_I_LOOKAHEAD
|
||||
: 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
@@ -9100,14 +9031,12 @@ code = '''
|
||||
defines.STEPS = [1, 2, 4, 8, 16, 32, 64, 128]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [true]
|
||||
defines.CKDATA = [true]
|
||||
# set compactmeta thresh to minimum
|
||||
defines.GC_COMPACTMETA_THRESH = 'BLOCK_SIZE/2'
|
||||
defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256]
|
||||
if = 'GBMAP || !LOOKGBMAP'
|
||||
code = '''
|
||||
// test creating directories
|
||||
lfs3_t lfs3;
|
||||
@@ -9123,9 +9052,6 @@ code = '''
|
||||
LFS3_T_RDWR
|
||||
| ((MKCONSISTENT) ? LFS3_T_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_T_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_T_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_T_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_T_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_T_CKDATA : 0)) => 0;
|
||||
@@ -9219,7 +9145,6 @@ code = '''
|
||||
defines.STEPS = [1, 2, 4, 8, 16, 32, 64, 128]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [true]
|
||||
defines.CKDATA = [true]
|
||||
@@ -9229,7 +9154,6 @@ defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256]
|
||||
defines.OPS = '2*N'
|
||||
defines.SEED = 42
|
||||
fuzz = 'SEED'
|
||||
if = 'GBMAP || !LOOKGBMAP'
|
||||
code = '''
|
||||
// test fuzz with dirs
|
||||
lfs3_t lfs3;
|
||||
@@ -9249,9 +9173,6 @@ code = '''
|
||||
LFS3_T_RDWR
|
||||
| ((MKCONSISTENT) ? LFS3_T_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_T_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_T_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_T_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_T_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_T_CKDATA : 0)) => 0;
|
||||
@@ -9409,7 +9330,6 @@ code = '''
|
||||
defines.STEPS = [1, 2, 4, 8, 16, 32, 64, 128]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [true]
|
||||
defines.CKDATA = [true]
|
||||
@@ -9425,10 +9345,7 @@ defines.SIZE = [
|
||||
'2*BLOCK_SIZE',
|
||||
'4*BLOCK_SIZE',
|
||||
]
|
||||
if = [
|
||||
'(SIZE*N)/BLOCK_SIZE <= 32',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
if = '(SIZE*N)/BLOCK_SIZE <= 32'
|
||||
code = '''
|
||||
// test creating files
|
||||
lfs3_t lfs3;
|
||||
@@ -9444,9 +9361,6 @@ code = '''
|
||||
LFS3_T_RDWR
|
||||
| ((MKCONSISTENT) ? LFS3_T_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_T_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_T_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_T_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_T_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_T_CKDATA : 0)) => 0;
|
||||
@@ -9524,7 +9438,6 @@ code = '''
|
||||
defines.STEPS = [1, 2, 4, 8, 16, 32, 64, 128]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [true]
|
||||
defines.CKDATA = [true]
|
||||
@@ -9543,10 +9456,7 @@ defines.SIZE = [
|
||||
]
|
||||
defines.SEED = 42
|
||||
fuzz = 'SEED'
|
||||
if = [
|
||||
'(SIZE*N)/BLOCK_SIZE <= 16',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
if = '(SIZE*N)/BLOCK_SIZE <= 16'
|
||||
code = '''
|
||||
// test fuzz with files
|
||||
lfs3_t lfs3;
|
||||
@@ -9567,9 +9477,6 @@ code = '''
|
||||
LFS3_T_RDWR
|
||||
| ((MKCONSISTENT) ? LFS3_T_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_T_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_T_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_T_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_T_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_T_CKDATA : 0)) => 0;
|
||||
@@ -9778,7 +9685,6 @@ code = '''
|
||||
defines.STEPS = [1, 2, 4, 8, 16, 32, 64, 128]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [true]
|
||||
defines.CKDATA = [true]
|
||||
@@ -9806,7 +9712,6 @@ if = [
|
||||
'CHUNK <= SIZE',
|
||||
# this just saves testing time
|
||||
'SIZE <= 4*1024*FRAGMENT_SIZE',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
code = '''
|
||||
// test with complex file writes
|
||||
@@ -9851,9 +9756,6 @@ code = '''
|
||||
LFS3_T_RDWR
|
||||
| ((MKCONSISTENT) ? LFS3_T_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_T_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_T_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_T_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_T_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_T_CKDATA : 0)) => 0;
|
||||
@@ -9950,7 +9852,6 @@ code = '''
|
||||
defines.STEPS = [1, 2, 4, 8, 16, 32, 64, 128]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [true]
|
||||
defines.CKDATA = [true]
|
||||
@@ -9971,10 +9872,7 @@ defines.SIZE = [
|
||||
]
|
||||
defines.SEED = 42
|
||||
fuzz = 'SEED'
|
||||
if = [
|
||||
'(SIZE*N)/BLOCK_SIZE <= 16',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
if = '(SIZE*N)/BLOCK_SIZE <= 16'
|
||||
code = '''
|
||||
// test with uncreats, zombies, etc
|
||||
lfs3_t lfs3;
|
||||
@@ -10006,9 +9904,6 @@ code = '''
|
||||
LFS3_T_RDWR
|
||||
| ((MKCONSISTENT) ? LFS3_T_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_T_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_T_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_T_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_T_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_T_CKDATA : 0)) => 0;
|
||||
@@ -10415,7 +10310,6 @@ code = '''
|
||||
defines.STEPS = [1, 2, 4, 8, 16, 32, 64, 128]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [true]
|
||||
defines.CKDATA = [true]
|
||||
@@ -10436,10 +10330,7 @@ defines.SIZE = [
|
||||
]
|
||||
defines.SEED = 42
|
||||
fuzz = 'SEED'
|
||||
if = [
|
||||
'(SIZE*N)/BLOCK_SIZE <= 16',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
if = '(SIZE*N)/BLOCK_SIZE <= 16'
|
||||
code = '''
|
||||
// test with uncreats, zombies, dirs, etc
|
||||
lfs3_t lfs3;
|
||||
@@ -10472,9 +10363,6 @@ code = '''
|
||||
LFS3_T_RDWR
|
||||
| ((MKCONSISTENT) ? LFS3_T_MKCONSISTENT : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_T_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_T_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_T_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_T_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_T_CKDATA : 0)) => 0;
|
||||
|
||||
Reference in New Issue
Block a user