Renamed RELOOKAHEAD -> LOOKAHEAD, REGBMAP -> LOOKGBMAP
Yeah, after using these for a bit, the RE* names were not great. Trying LOOK* now, as an alternative that hopefully still implies the similar behavior without needing an additional prefix for LOOKAHEAD: - LFS3_*_RELOOKAHEAD -> LFS3_*_LOOKAHEAD - LFS3_*_REGBMAP -> LFS3_*_LOOKGBMAP - cfg.regbmap_thresh -> cfg.lookgbmap_thresh - cfg.gc_relookahead_thresh -> cfg.gc_lookahead_thresh - cfg.gc_regbmap_thresh -> cfg.gc_lookgbmap_thresh
This commit is contained in:
+145
-145
@@ -18,7 +18,7 @@ if = '''
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
LFS3_GC_RELOOKAHEAD
|
||||
LFS3_GC_LOOKAHEAD
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
'''
|
||||
@@ -56,7 +56,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_RELOOKAHEAD);
|
||||
assert(fsinfo.flags & LFS3_I_LOOKAHEAD);
|
||||
assert(lfs3.handles != &lfs3.gc.t.h);
|
||||
|
||||
// run GC until we make progress
|
||||
@@ -67,7 +67,7 @@ code = '''
|
||||
lfs3_fs_gc(&lfs3) => 0;
|
||||
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & LFS3_I_RELOOKAHEAD)) {
|
||||
if (!(fsinfo.flags & LFS3_I_LOOKAHEAD)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -87,7 +87,7 @@ code = '''
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
LFS3_GC_RELOOKAHEAD
|
||||
LFS3_GC_LOOKAHEAD
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
'''
|
||||
@@ -126,7 +126,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_RELOOKAHEAD);
|
||||
assert(fsinfo.flags & LFS3_I_LOOKAHEAD);
|
||||
assert(lfs3.handles != &lfs3.gc.t.h);
|
||||
|
||||
// run GC one step
|
||||
@@ -149,7 +149,7 @@ code = '''
|
||||
|
||||
// we should _not_ make progress
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
assert(fsinfo.flags & LFS3_I_RELOOKAHEAD);
|
||||
assert(fsinfo.flags & LFS3_I_LOOKAHEAD);
|
||||
|
||||
// check the file contents
|
||||
lfs3_file_open(&lfs3, &file, "spider", LFS3_O_RDONLY) => 0;
|
||||
@@ -165,7 +165,7 @@ code = '''
|
||||
# gc_relookahead_thresh
|
||||
[cases.test_gc_relookahead_relaxed]
|
||||
# relax our repop thresh
|
||||
defines.GC_RELOOKAHEAD_THRESH = [
|
||||
defines.GC_LOOKAHEAD_THRESH = [
|
||||
'-1',
|
||||
'8*LOOKAHEAD_SIZE - (8*LOOKAHEAD_SIZE/4)',
|
||||
'8*LOOKAHEAD_SIZE - (8*LOOKAHEAD_SIZE/2)',
|
||||
@@ -173,7 +173,7 @@ defines.GC_RELOOKAHEAD_THRESH = [
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
LFS3_GC_RELOOKAHEAD
|
||||
LFS3_GC_LOOKAHEAD
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
'''
|
||||
@@ -210,7 +210,7 @@ code = '''
|
||||
|
||||
struct lfs3_fsinfo fsinfo;
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & LFS3_I_RELOOKAHEAD)) {
|
||||
if (!(fsinfo.flags & LFS3_I_LOOKAHEAD)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -237,9 +237,9 @@ code = '''
|
||||
|
||||
struct lfs3_fsinfo fsinfo;
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
if (fsinfo.flags & LFS3_I_RELOOKAHEAD) {
|
||||
if (fsinfo.flags & LFS3_I_LOOKAHEAD) {
|
||||
// check that we actually relaxed repopulations
|
||||
if ((lfs3_size_t)GC_RELOOKAHEAD_THRESH
|
||||
if ((lfs3_size_t)GC_LOOKAHEAD_THRESH
|
||||
< (lfs3_size_t)(8*LOOKAHEAD_SIZE-1)) {
|
||||
assert(i > 0);
|
||||
} else {
|
||||
@@ -258,7 +258,7 @@ code = '''
|
||||
|
||||
struct lfs3_fsinfo fsinfo;
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & LFS3_I_RELOOKAHEAD)) {
|
||||
if (!(fsinfo.flags & LFS3_I_LOOKAHEAD)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -275,12 +275,12 @@ code = '''
|
||||
|
||||
# test that regbmap can make progress in isolation
|
||||
[cases.test_gc_regbmap_progress]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
LFS3_GC_REGBMAP
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
LFS3_GC_LOOKGBMAP
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
'''
|
||||
@@ -317,7 +317,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_REGBMAP);
|
||||
assert(fsinfo.flags & LFS3_I_LOOKGBMAP);
|
||||
assert(lfs3.handles != &lfs3.gc.t.h);
|
||||
|
||||
// run GC until we make progress
|
||||
@@ -328,7 +328,7 @@ code = '''
|
||||
lfs3_fs_gc(&lfs3) => 0;
|
||||
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & LFS3_I_REGBMAP)) {
|
||||
if (!(fsinfo.flags & LFS3_I_LOOKGBMAP)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -345,12 +345,12 @@ code = '''
|
||||
|
||||
# test that regbmap dirtying still works with the GC API
|
||||
[cases.test_gc_regbmap_mutation]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
LFS3_GC_REGBMAP
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
LFS3_GC_LOOKGBMAP
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
'''
|
||||
@@ -390,7 +390,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_REGBMAP);
|
||||
assert(fsinfo.flags & LFS3_I_LOOKGBMAP);
|
||||
assert(lfs3.handles != &lfs3.gc.t.h);
|
||||
|
||||
// run GC one step
|
||||
@@ -413,7 +413,7 @@ code = '''
|
||||
|
||||
// we should _not_ make progress
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
assert(fsinfo.flags & LFS3_I_REGBMAP);
|
||||
assert(fsinfo.flags & LFS3_I_LOOKGBMAP);
|
||||
|
||||
// check the file contents
|
||||
lfs3_file_open(&lfs3, &file, "spider", LFS3_O_RDONLY) => 0;
|
||||
@@ -428,17 +428,17 @@ code = '''
|
||||
# test that we can relax gbmap repopulation with gc_regbmap_thresh
|
||||
[cases.test_gc_regbmap_relaxed]
|
||||
# relax our repop thresh
|
||||
defines.GC_REGBMAP_THRESH = [
|
||||
defines.GC_LOOKGBMAP_THRESH = [
|
||||
'-1',
|
||||
'BLOCK_COUNT - (BLOCK_COUNT/4)',
|
||||
'BLOCK_COUNT - (BLOCK_COUNT/2)',
|
||||
]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
LFS3_GC_REGBMAP
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
LFS3_GC_LOOKGBMAP
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
'''
|
||||
@@ -476,7 +476,7 @@ code = '''
|
||||
|
||||
struct lfs3_fsinfo fsinfo;
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & LFS3_I_REGBMAP)) {
|
||||
if (!(fsinfo.flags & LFS3_I_LOOKGBMAP)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -503,9 +503,9 @@ code = '''
|
||||
|
||||
struct lfs3_fsinfo fsinfo;
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
if (fsinfo.flags & LFS3_I_REGBMAP) {
|
||||
if (fsinfo.flags & LFS3_I_LOOKGBMAP) {
|
||||
// check that we actually relaxed repopulations
|
||||
if ((lfs3_size_t)GC_REGBMAP_THRESH
|
||||
if ((lfs3_size_t)GC_LOOKGBMAP_THRESH
|
||||
< BLOCK_COUNT-1) {
|
||||
assert(i > 0);
|
||||
} else {
|
||||
@@ -524,7 +524,7 @@ code = '''
|
||||
|
||||
struct lfs3_fsinfo fsinfo;
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & LFS3_I_REGBMAP)) {
|
||||
if (!(fsinfo.flags & LFS3_I_LOOKGBMAP)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -541,12 +541,12 @@ code = '''
|
||||
|
||||
# test that compactmeta can make progress in isolation
|
||||
[cases.test_gc_compactmeta_progress]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
LFS3_GC_COMPACTMETA
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
'''
|
||||
@@ -632,12 +632,12 @@ code = '''
|
||||
|
||||
# test that compactmeta dirtying still works with the GC API
|
||||
[cases.test_gc_compactmeta_mutation]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
LFS3_GC_COMPACTMETA
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
'''
|
||||
@@ -738,13 +738,13 @@ code = '''
|
||||
|
||||
# test that mkconsistent can make progress in isolation
|
||||
[cases.test_gc_mkconsistent_progress]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
LFS3_GC_MKCONSISTENT
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((COMPACTMETA) ? LFS3_GC_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
@@ -956,13 +956,13 @@ code = '''
|
||||
|
||||
# test that mkconsistent dirtying still works with the GC API
|
||||
[cases.test_gc_mkconsistent_mutation]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
LFS3_GC_MKCONSISTENT
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_GC_LOOKAHEAD : 0)
|
||||
| ((COMPACTMETA) ? LFS3_GC_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_GC_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_GC_CKDATA : 0)
|
||||
@@ -1822,15 +1822,15 @@ done:;
|
||||
# AFTER=3 => after remounting
|
||||
defines.AFTER = [0, 1, 2, 3]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.REGBMAP = [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)
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_REGBMAP, -1) : 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 +1849,7 @@ defines.SIZE = [
|
||||
if = [
|
||||
'(SIZE*N)/BLOCK_SIZE <= 32',
|
||||
'LFS3_IFDEF_GC(true, AFTER != 0)',
|
||||
'GBMAP || !REGBMAP',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
@@ -1888,9 +1888,9 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| LFS3_I_RELOOKAHEAD
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP)
|
||||
? (LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
|
||||
? (LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
& fsinfo.flags)
|
||||
: 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
@@ -1913,9 +1913,9 @@ code = '''
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & (
|
||||
((MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
|
||||
| ((LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_I_CKMETA : 0)
|
||||
@@ -1945,9 +1945,9 @@ code = '''
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & (
|
||||
((MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
|
||||
| ((LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_I_CKMETA : 0)
|
||||
@@ -1959,11 +1959,11 @@ code = '''
|
||||
lfs3_fs_mkconsistent(&lfs3) => 0;
|
||||
}
|
||||
|
||||
if (RELOOKAHEAD && (fsinfo.flags & LFS3_I_RELOOKAHEAD)) {
|
||||
if (LOOKAHEAD && (fsinfo.flags & LFS3_I_LOOKAHEAD)) {
|
||||
// we need an explicit traversal for this
|
||||
lfs3_trv_t trv;
|
||||
lfs3_trv_open(&lfs3, &trv,
|
||||
LFS3_T_RDWR | LFS3_T_RELOOKAHEAD) => 0;
|
||||
LFS3_T_RDWR | LFS3_T_LOOKAHEAD) => 0;
|
||||
while (true) {
|
||||
struct lfs3_tinfo tinfo;
|
||||
int err = lfs3_trv_read(&lfs3, &trv, &tinfo);
|
||||
@@ -1976,11 +1976,11 @@ code = '''
|
||||
}
|
||||
|
||||
#ifdef LFS3_GBMAP
|
||||
if (REGBMAP && (fsinfo.flags & LFS3_I_REGBMAP)) {
|
||||
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_REGBMAP) => 0;
|
||||
LFS3_T_RDWR | LFS3_T_LOOKGBMAP) => 0;
|
||||
while (true) {
|
||||
struct lfs3_tinfo tinfo;
|
||||
int err = lfs3_trv_read(&lfs3, &trv, &tinfo);
|
||||
@@ -2033,10 +2033,10 @@ code = '''
|
||||
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)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((!LOOKGBMAP)
|
||||
? ((GBMAP)
|
||||
? (LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
|
||||
? (LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
& fsinfo.flags)
|
||||
: 0)
|
||||
: 0)
|
||||
@@ -2057,15 +2057,15 @@ code = '''
|
||||
# AFTER=3 => after remounting
|
||||
defines.AFTER = [0, 1, 2, 3]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.REGBMAP = [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)
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_REGBMAP, -1) : 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 +2084,7 @@ defines.SIZE = [
|
||||
if = [
|
||||
'(SIZE*N)/BLOCK_SIZE <= 32',
|
||||
'LFS3_IFDEF_GC(true, AFTER != 0)',
|
||||
'GBMAP || !REGBMAP',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
@@ -2123,9 +2123,9 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| LFS3_I_RELOOKAHEAD
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((GBMAP)
|
||||
? (LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
|
||||
? (LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
& fsinfo.flags)
|
||||
: 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
@@ -2148,9 +2148,9 @@ code = '''
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & (
|
||||
((MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
|
||||
| ((LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_I_CKMETA : 0)
|
||||
@@ -2180,9 +2180,9 @@ code = '''
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & (
|
||||
((MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
|
||||
| ((LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_I_CKMETA : 0)
|
||||
@@ -2194,11 +2194,11 @@ code = '''
|
||||
lfs3_fs_mkconsistent(&lfs3) => 0;
|
||||
}
|
||||
|
||||
if (RELOOKAHEAD && (fsinfo.flags & LFS3_I_RELOOKAHEAD)) {
|
||||
if (LOOKAHEAD && (fsinfo.flags & LFS3_I_LOOKAHEAD)) {
|
||||
// we need an explicit traversal for this
|
||||
lfs3_trv_t trv;
|
||||
lfs3_trv_open(&lfs3, &trv,
|
||||
LFS3_T_RDWR | LFS3_T_RELOOKAHEAD) => 0;
|
||||
LFS3_T_RDWR | LFS3_T_LOOKAHEAD) => 0;
|
||||
while (true) {
|
||||
struct lfs3_tinfo tinfo;
|
||||
int err = lfs3_trv_read(&lfs3, &trv, &tinfo);
|
||||
@@ -2211,11 +2211,11 @@ code = '''
|
||||
}
|
||||
|
||||
#ifdef LFS3_GBMAP
|
||||
if (REGBMAP && (fsinfo.flags & LFS3_I_REGBMAP)) {
|
||||
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_REGBMAP) => 0;
|
||||
LFS3_T_RDWR | LFS3_T_LOOKGBMAP) => 0;
|
||||
while (true) {
|
||||
struct lfs3_tinfo tinfo;
|
||||
int err = lfs3_trv_read(&lfs3, &trv, &tinfo);
|
||||
@@ -2268,10 +2268,10 @@ code = '''
|
||||
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)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((!LOOKGBMAP)
|
||||
? ((GBMAP)
|
||||
? (LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
|
||||
? (LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
& fsinfo.flags)
|
||||
: 0)
|
||||
: 0)
|
||||
@@ -2290,11 +2290,11 @@ code = '''
|
||||
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)
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1U)
|
||||
: (GBMAP)
|
||||
? (LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
|
||||
? (LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
& fsinfo.flags)
|
||||
: 0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
@@ -2319,9 +2319,9 @@ code = '''
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & (
|
||||
((MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
|
||||
| ((LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_I_CKMETA : 0)
|
||||
@@ -2351,9 +2351,9 @@ code = '''
|
||||
lfs3_fs_stat(&lfs3, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & (
|
||||
((MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
|
||||
| ((LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_I_CKMETA : 0)
|
||||
@@ -2365,11 +2365,11 @@ code = '''
|
||||
lfs3_fs_mkconsistent(&lfs3) => 0;
|
||||
}
|
||||
|
||||
if (RELOOKAHEAD && (fsinfo.flags & LFS3_I_RELOOKAHEAD)) {
|
||||
if (LOOKAHEAD && (fsinfo.flags & LFS3_I_LOOKAHEAD)) {
|
||||
// we need an explicit traversal for this
|
||||
lfs3_trv_t trv;
|
||||
lfs3_trv_open(&lfs3, &trv,
|
||||
LFS3_T_RDWR | LFS3_T_RELOOKAHEAD) => 0;
|
||||
LFS3_T_RDWR | LFS3_T_LOOKAHEAD) => 0;
|
||||
while (true) {
|
||||
struct lfs3_tinfo tinfo;
|
||||
int err = lfs3_trv_read(&lfs3, &trv, &tinfo);
|
||||
@@ -2382,11 +2382,11 @@ code = '''
|
||||
}
|
||||
|
||||
#ifdef LFS3_GBMAP
|
||||
if (REGBMAP && (fsinfo.flags & LFS3_I_REGBMAP)) {
|
||||
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_REGBMAP) => 0;
|
||||
LFS3_T_RDWR | LFS3_T_LOOKGBMAP) => 0;
|
||||
while (true) {
|
||||
struct lfs3_tinfo tinfo;
|
||||
int err = lfs3_trv_read(&lfs3, &trv, &tinfo);
|
||||
@@ -2439,10 +2439,10 @@ code = '''
|
||||
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)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((!LOOKGBMAP)
|
||||
? ((GBMAP)
|
||||
? (LFS3_IFDEF_GBMAP(LFS3_I_REGBMAP, -1)
|
||||
? (LFS3_IFDEF_GBMAP(LFS3_I_LOOKGBMAP, -1)
|
||||
& fsinfo.flags)
|
||||
: 0)
|
||||
: 0)
|
||||
@@ -2460,15 +2460,15 @@ code = '''
|
||||
[cases.test_gc_mutation]
|
||||
defines.N = 100
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.REGBMAP = [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)
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_REGBMAP, -1) : 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 +2484,7 @@ defines.SIZE = [
|
||||
'2*BLOCK_SIZE',
|
||||
'8*BLOCK_SIZE',
|
||||
]
|
||||
if = 'GBMAP || !REGBMAP'
|
||||
if = 'GBMAP || !LOOKGBMAP'
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
@@ -2535,15 +2535,15 @@ code = '''
|
||||
[cases.test_gc_mutation_unck]
|
||||
defines.N = 100
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.REGBMAP = [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)
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_REGBMAP, -1) : 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 +2559,7 @@ defines.SIZE = [
|
||||
'2*BLOCK_SIZE',
|
||||
'8*BLOCK_SIZE',
|
||||
]
|
||||
if = 'GBMAP || !REGBMAP'
|
||||
if = 'GBMAP || !LOOKGBMAP'
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
@@ -2613,15 +2613,15 @@ code = '''
|
||||
# test that gc work doesn't break anything in low-space condiditions
|
||||
[cases.test_gc_nospc]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.REGBMAP = [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)
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_REGBMAP, -1) : 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 +2631,7 @@ 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 || !REGBMAP'
|
||||
if = 'GBMAP || !LOOKGBMAP'
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
lfs3_t lfs3;
|
||||
@@ -2721,16 +2721,16 @@ code = '''
|
||||
|
||||
[cases.test_gc_spam_dir_many]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.REGBMAP = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.UNCK = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_REGBMAP, -1) : 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 +2739,7 @@ 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 || !REGBMAP'
|
||||
if = 'GBMAP || !LOOKGBMAP'
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
// test creating directories
|
||||
@@ -2831,16 +2831,16 @@ code = '''
|
||||
|
||||
[cases.test_gc_spam_dir_fuzz]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.REGBMAP = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.UNCK = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_REGBMAP, -1) : 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 +2852,7 @@ defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256]
|
||||
defines.OPS = '2*N'
|
||||
defines.SEED = 42
|
||||
fuzz = 'SEED'
|
||||
if = 'GBMAP || !REGBMAP'
|
||||
if = 'GBMAP || !LOOKGBMAP'
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
// test fuzz with dirs
|
||||
@@ -3012,16 +3012,16 @@ code = '''
|
||||
|
||||
[cases.test_gc_spam_file_many]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.REGBMAP = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.UNCK = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_REGBMAP, -1) : 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)
|
||||
@@ -3041,7 +3041,7 @@ defines.SIZE = [
|
||||
]
|
||||
if = [
|
||||
'(SIZE*N)/BLOCK_SIZE <= 32',
|
||||
'GBMAP || !REGBMAP',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
@@ -3118,16 +3118,16 @@ code = '''
|
||||
|
||||
[cases.test_gc_spam_file_fuzz]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.REGBMAP = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.UNCK = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_REGBMAP, -1) : 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)
|
||||
@@ -3150,7 +3150,7 @@ defines.SEED = 42
|
||||
fuzz = 'SEED'
|
||||
if = [
|
||||
'(SIZE*N)/BLOCK_SIZE <= 16',
|
||||
'GBMAP || !REGBMAP',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
@@ -3363,16 +3363,16 @@ code = '''
|
||||
|
||||
[cases.test_gc_spam_fwrite_fuzz]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.REGBMAP = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.UNCK = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_REGBMAP, -1) : 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 +3402,7 @@ if = [
|
||||
'CHUNK <= SIZE',
|
||||
# this just saves testing time
|
||||
'SIZE <= 4*1024*FRAGMENT_SIZE',
|
||||
'GBMAP || !REGBMAP',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
@@ -3526,16 +3526,16 @@ code = '''
|
||||
|
||||
[cases.test_gc_spam_uz_fuzz]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.REGBMAP = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.UNCK = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_REGBMAP, -1) : 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)
|
||||
@@ -3560,7 +3560,7 @@ defines.SEED = 42
|
||||
fuzz = 'SEED'
|
||||
if = [
|
||||
'(SIZE*N)/BLOCK_SIZE <= 16',
|
||||
'GBMAP || !REGBMAP',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
@@ -3982,16 +3982,16 @@ code = '''
|
||||
|
||||
[cases.test_gc_spam_uzd_fuzz]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.REGBMAP = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.UNCK = [false, true]
|
||||
defines.GC_FLAGS = '''
|
||||
((MKCONSISTENT) ? LFS3_GC_MKCONSISTENT : 0)
|
||||
| ((RELOOKAHEAD) ? LFS3_GC_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP) ? LFS3_IFDEF_GBMAP(LFS3_GC_REGBMAP, -1) : 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)
|
||||
@@ -4016,7 +4016,7 @@ defines.SEED = 42
|
||||
fuzz = 'SEED'
|
||||
if = [
|
||||
'(SIZE*N)/BLOCK_SIZE <= 16',
|
||||
'GBMAP || !REGBMAP',
|
||||
'GBMAP || !LOOKGBMAP',
|
||||
]
|
||||
ifdef = 'LFS3_GC'
|
||||
code = '''
|
||||
|
||||
+37
-37
@@ -24,8 +24,8 @@ defines.CKFETCHES = [false, true]
|
||||
defines.CKMETAPARITY = [false, true]
|
||||
defines.CKDATACKSUMS = [false, true]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.REGBMAP = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
@@ -37,9 +37,9 @@ if = [
|
||||
'LFS3_IFDEF_CKMETAPARITY(true, !CKMETAPARITY)',
|
||||
'LFS3_IFDEF_CKDATACKSUMS(true, !CKDATACKSUMS)',
|
||||
'!RDONLY || !MKCONSISTENT',
|
||||
'!RDONLY || !RELOOKAHEAD',
|
||||
'LFS3_IFDEF_YES_GBMAP(true, !REGBMAP)',
|
||||
'!RDONLY || !REGBMAP',
|
||||
'!RDONLY || !LOOKAHEAD',
|
||||
'LFS3_IFDEF_YES_GBMAP(true, !LOOKGBMAP)',
|
||||
'!RDONLY || !LOOKGBMAP',
|
||||
'!RDONLY || !COMPACTMETA',
|
||||
]
|
||||
code = '''
|
||||
@@ -60,9 +60,9 @@ code = '''
|
||||
? LFS3_IFDEF_CKDATACKSUMS(LFS3_M_CKDATACKSUMS, -1)
|
||||
: 0)
|
||||
| ((MKCONSISTENT) ? LFS3_M_MKCONSISTENT : 0)
|
||||
| ((RELOOKAHEAD) ? LFS3_M_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_M_REGBMAP, -1)
|
||||
| ((LOOKAHEAD) ? LFS3_M_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_M_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_M_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_M_CKMETA : 0)
|
||||
@@ -87,7 +87,7 @@ code = '''
|
||||
? LFS3_IFDEF_CKDATACKSUMS(LFS3_I_CKDATACKSUMS, -1)
|
||||
: 0)
|
||||
| ((!MKCONSISTENT) ? LFS3_I_MKCONSISTENT : 0)
|
||||
| ((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| ((!COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
// note ckdata implies ckmeta
|
||||
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
|
||||
@@ -108,8 +108,8 @@ defines.CKFETCHES = [false, true]
|
||||
defines.CKMETAPARITY = [false, true]
|
||||
defines.CKDATACKSUMS = [false, true]
|
||||
defines.MKCONSISTENT = [false, true]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.REGBMAP = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.LOOKGBMAP = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
@@ -121,7 +121,7 @@ if = [
|
||||
'LFS3_IFDEF_CKFETCHES(true, !CKFETCHES)',
|
||||
'LFS3_IFDEF_CKMETAPARITY(true, !CKMETAPARITY)',
|
||||
'LFS3_IFDEF_CKDATACKSUMS(true, !CKDATACKSUMS)',
|
||||
'LFS3_IFDEF_YES_GBMAP(true, !REGBMAP)',
|
||||
'LFS3_IFDEF_YES_GBMAP(true, !LOOKGBMAP)',
|
||||
'LFS3_IFDEF_GBMAP(true, !GBMAP)',
|
||||
]
|
||||
code = '''
|
||||
@@ -139,9 +139,9 @@ code = '''
|
||||
? LFS3_IFDEF_CKDATACKSUMS(LFS3_F_CKDATACKSUMS, -1)
|
||||
: 0)
|
||||
| ((MKCONSISTENT) ? LFS3_F_MKCONSISTENT : 0)
|
||||
| ((RELOOKAHEAD) ? LFS3_F_RELOOKAHEAD : 0)
|
||||
| ((REGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_F_REGBMAP, -1)
|
||||
| ((LOOKAHEAD) ? LFS3_F_LOOKAHEAD : 0)
|
||||
| ((LOOKGBMAP)
|
||||
? LFS3_IFDEF_GBMAP(LFS3_F_LOOKGBMAP, -1)
|
||||
: 0)
|
||||
| ((COMPACTMETA) ? LFS3_F_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_F_CKMETA : 0)
|
||||
@@ -157,7 +157,7 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| LFS3_I_RELOOKAHEAD
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -186,17 +186,17 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| LFS3_I_RELOOKAHEAD
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
| LFS3_IFDEF_YES_GBMAP(LFS3_I_GBMAP, 0)));
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
// with LFS3_M_RELOOKAHEAD, mount performs a lookahead scan
|
||||
// with LFS3_M_LOOKAHEAD, mount performs a lookahead scan
|
||||
lfs3_mount(&lfs3,
|
||||
LFS3_M_RDWR
|
||||
| LFS3_M_RELOOKAHEAD
|
||||
| LFS3_M_LOOKAHEAD
|
||||
| ((CKMETA) ? LFS3_M_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_M_CKDATA : 0),
|
||||
CFG) => 0;
|
||||
@@ -237,7 +237,7 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| LFS3_I_RELOOKAHEAD
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
@@ -261,19 +261,19 @@ code = '''
|
||||
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_LOOKAHEAD
|
||||
| LFS3_I_LOOKGBMAP
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
| LFS3_I_CKDATA
|
||||
| LFS3_IFDEF_GBMAP(LFS3_I_GBMAP, 0)));
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
// with LFS3_M_REGBMAP, mount performs a gbmap repop
|
||||
// with LFS3_M_LOOKGBMAP, mount performs a gbmap repop
|
||||
lfs3_mount(&lfs3,
|
||||
LFS3_M_RDWR
|
||||
| LFS3_M_RELOOKAHEAD
|
||||
| LFS3_M_REGBMAP
|
||||
| LFS3_M_LOOKAHEAD
|
||||
| LFS3_M_LOOKGBMAP
|
||||
| ((CKMETA) ? LFS3_M_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_M_CKDATA : 0),
|
||||
CFG) => 0;
|
||||
@@ -291,7 +291,7 @@ code = '''
|
||||
'''
|
||||
|
||||
[cases.test_mount_t_compactmeta]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
defines.SIZE = [
|
||||
@@ -340,9 +340,9 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| LFS3_I_RELOOKAHEAD
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| LFS3_IFDEF_YES_GBMAP(
|
||||
(SIZE >= BLOCK_SIZE/4) ? LFS3_I_REGBMAP : 0,
|
||||
(SIZE >= BLOCK_SIZE/4) ? LFS3_I_LOOKGBMAP : 0,
|
||||
0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
@@ -354,7 +354,7 @@ code = '''
|
||||
lfs3_mount(&lfs3,
|
||||
LFS3_M_RDWR
|
||||
| LFS3_M_COMPACTMETA
|
||||
| ((RELOOKAHEAD) ? LFS3_M_RELOOKAHEAD : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_M_LOOKAHEAD : 0)
|
||||
| ((CKMETA) ? LFS3_M_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_M_CKDATA : 0),
|
||||
CFG) => 0;
|
||||
@@ -363,9 +363,9 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| ((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_IFDEF_YES_GBMAP(
|
||||
(SIZE >= BLOCK_SIZE/4) ? LFS3_I_REGBMAP : 0,
|
||||
(SIZE >= BLOCK_SIZE/4) ? LFS3_I_LOOKGBMAP : 0,
|
||||
0)
|
||||
// note ckdata implies ckmeta
|
||||
| ((!CKMETA && !CKDATA) ? LFS3_I_CKMETA : 0)
|
||||
@@ -386,7 +386,7 @@ code = '''
|
||||
'''
|
||||
|
||||
[cases.test_mount_t_mkconsistent]
|
||||
defines.RELOOKAHEAD = [false, true]
|
||||
defines.LOOKAHEAD = [false, true]
|
||||
defines.COMPACTMETA = [false, true]
|
||||
defines.CKMETA = [false, true]
|
||||
defines.CKDATA = [false, true]
|
||||
@@ -454,9 +454,9 @@ code = '''
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| LFS3_I_MKCONSISTENT
|
||||
| LFS3_I_RELOOKAHEAD
|
||||
| LFS3_I_LOOKAHEAD
|
||||
| LFS3_IFDEF_YES_GBMAP(
|
||||
(ORPHANS >= 100) ? LFS3_I_REGBMAP : 0,
|
||||
(ORPHANS >= 100) ? LFS3_I_LOOKGBMAP : 0,
|
||||
0)
|
||||
| LFS3_I_COMPACTMETA
|
||||
| LFS3_I_CKMETA
|
||||
@@ -468,7 +468,7 @@ code = '''
|
||||
lfs3_mount(&lfs3,
|
||||
LFS3_M_RDWR
|
||||
| LFS3_M_MKCONSISTENT
|
||||
| ((RELOOKAHEAD) ? LFS3_M_RELOOKAHEAD : 0)
|
||||
| ((LOOKAHEAD) ? LFS3_M_LOOKAHEAD : 0)
|
||||
| ((COMPACTMETA) ? LFS3_M_COMPACTMETA : 0)
|
||||
| ((CKMETA) ? LFS3_M_CKMETA : 0)
|
||||
| ((CKDATA) ? LFS3_M_CKDATA : 0),
|
||||
@@ -477,9 +477,9 @@ code = '''
|
||||
assert(fsinfo.flags == (
|
||||
LFS3_IFDEF_YES_REVDBG(LFS3_I_REVDBG, 0)
|
||||
| LFS3_IFDEF_YES_REVNOISE(LFS3_I_REVNOISE, 0)
|
||||
| ((!RELOOKAHEAD) ? LFS3_I_RELOOKAHEAD : 0)
|
||||
| ((!LOOKAHEAD) ? LFS3_I_LOOKAHEAD : 0)
|
||||
| LFS3_IFDEF_YES_GBMAP(
|
||||
(ORPHANS >= 100) ? LFS3_I_REGBMAP : 0,
|
||||
(ORPHANS >= 100) ? LFS3_I_LOOKGBMAP : 0,
|
||||
0)
|
||||
| ((!COMPACTMETA) ? LFS3_I_COMPACTMETA : 0)
|
||||
// note ckdata implies ckmeta
|
||||
|
||||
+283
-283
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user