Renamed LFS_I_* flags to match LFS_GC_*
- LFS_I_INCONSISTENT -> LFS_I_MKCONSISTENT - LFS_I_CANLOOKAHEAD -> LFS_I_LOOKAHEAD - LFS_I_UNCOMPACTED -> LFS_I_COMPACT - LFS_I_CANCKMETA -> LFS_I_CKMETA - LFS_I_CANCKDATA -> LFS_I_CKDATA This just makes everything easier to read/pattern match, even if it's a bit inaccurate english-wise. The imperative transformations were also wildly inconsistent...
This commit is contained in:
@@ -6724,28 +6724,28 @@ static inline bool lfsr_i_isuntidy(uint32_t flags) {
|
||||
return flags & LFS_I_UNTIDY;
|
||||
}
|
||||
|
||||
static inline bool lfsr_i_isuncompacted(uint32_t flags) {
|
||||
return flags & LFS_I_UNCOMPACTED;
|
||||
static inline bool lfsr_i_iscompact(uint32_t flags) {
|
||||
return flags & LFS_I_COMPACT;
|
||||
}
|
||||
|
||||
static inline bool lfsr_i_canckmeta(uint32_t flags) {
|
||||
return flags & LFS_I_CANCKMETA;
|
||||
static inline bool lfsr_i_isckmeta(uint32_t flags) {
|
||||
return flags & LFS_I_CKMETA;
|
||||
}
|
||||
|
||||
static inline bool lfsr_i_canckdata(uint32_t flags) {
|
||||
return flags & LFS_I_CANCKDATA;
|
||||
static inline bool lfsr_i_isckdata(uint32_t flags) {
|
||||
return flags & LFS_I_CKDATA;
|
||||
}
|
||||
|
||||
// on-demand flags
|
||||
|
||||
// needed in lfsr_fs_isinconsistent
|
||||
// needed in lfsr_fs_ismkconsistent
|
||||
static inline uint8_t lfsr_grm_count(const lfs_t *lfs);
|
||||
|
||||
static bool lfsr_fs_isinconsistent(const lfs_t *lfs) {
|
||||
static bool lfsr_fs_ismkconsistent(const lfs_t *lfs) {
|
||||
return lfsr_grm_count(lfs) > 0 || lfsr_i_isuntidy(lfs->flags);
|
||||
}
|
||||
|
||||
static bool lfsr_fs_canlookahead(const lfs_t *lfs) {
|
||||
static bool lfsr_fs_islookahead(const lfs_t *lfs) {
|
||||
return lfs->lookahead.size < lfs_min(
|
||||
8*lfs->cfg->lookahead_size,
|
||||
lfs->cfg->block_size);
|
||||
@@ -8742,7 +8742,7 @@ static int lfsr_mdir_commit(lfs_t *lfs, lfsr_mdir_t *mdir,
|
||||
|
||||
// we may have touched any number of mdirs, so assume uncompacted
|
||||
// until lfsr_gc can prove otherwise
|
||||
lfs->flags |= LFS_I_UNCOMPACTED;
|
||||
lfs->flags |= LFS_I_COMPACT;
|
||||
|
||||
// update any gstate changes
|
||||
lfsr_fs_commitgdelta(lfs);
|
||||
@@ -9646,7 +9646,7 @@ eot:;
|
||||
if (lfsr_t_iscompact(t->o.o.flags)
|
||||
&& !lfsr_t_isdirty(t->o.o.flags)
|
||||
&& !lfsr_t_ismutated(t->o.o.flags)) {
|
||||
lfs->flags &= ~LFS_I_UNCOMPACTED;
|
||||
lfs->flags &= ~LFS_I_COMPACT;
|
||||
}
|
||||
|
||||
// was ckmeta/ckdata successful? we only consider our filesystem
|
||||
@@ -9655,13 +9655,13 @@ eot:;
|
||||
&& !lfsr_t_ismtreeonly(t->o.o.flags)
|
||||
&& !lfsr_t_isdirty(t->o.o.flags)
|
||||
&& !lfsr_t_ismutated(t->o.o.flags)) {
|
||||
lfs->flags &= ~LFS_I_CANCKMETA;
|
||||
lfs->flags &= ~LFS_I_CKMETA;
|
||||
}
|
||||
if (lfsr_t_isckdata(t->o.o.flags)
|
||||
&& !lfsr_t_ismtreeonly(t->o.o.flags)
|
||||
&& !lfsr_t_isdirty(t->o.o.flags)
|
||||
&& !lfsr_t_ismutated(t->o.o.flags)) {
|
||||
lfs->flags &= ~LFS_I_CANCKDATA;
|
||||
lfs->flags &= ~LFS_I_CKDATA;
|
||||
}
|
||||
|
||||
return LFS_ERR_NOENT;
|
||||
@@ -13212,10 +13212,10 @@ static int lfs_init(lfs_t *lfs, uint32_t flags,
|
||||
| LFS_I_UNTIDY
|
||||
// default to assuming we need compaction somewhere, worst case
|
||||
// this just makes lfsr_gc read more than is strictly needed
|
||||
| LFS_I_UNCOMPACTED
|
||||
| LFS_I_COMPACT
|
||||
// default to needing a ckmeta/ckdata scan
|
||||
| LFS_I_CANCKMETA
|
||||
| LFS_I_CANCKDATA;
|
||||
| LFS_I_CKMETA
|
||||
| LFS_I_CKDATA;
|
||||
|
||||
// copy block_count so we can mutate it
|
||||
lfs->block_count = lfs->cfg->block_count;
|
||||
@@ -14223,12 +14223,12 @@ int lfsr_fs_stat(lfs_t *lfs, struct lfs_fsinfo *fsinfo) {
|
||||
| LFS_IFDEF_CKFETCHES(LFS_I_CKFETCHES, 0)
|
||||
| LFS_IFDEF_CKPARITY(LFS_I_CKPARITY, 0)
|
||||
| LFS_IFDEF_CKDATACKSUMS(LFS_I_CKDATACKSUMS, 0)
|
||||
| LFS_I_UNCOMPACTED
|
||||
| LFS_I_CANCKMETA
|
||||
| LFS_I_CANCKDATA);
|
||||
| LFS_I_COMPACT
|
||||
| LFS_I_CKMETA
|
||||
| LFS_I_CKDATA);
|
||||
// some flags we calculate on demand
|
||||
fsinfo->flags |= (lfsr_fs_isinconsistent(lfs)) ? LFS_I_INCONSISTENT : 0;
|
||||
fsinfo->flags |= (lfsr_fs_canlookahead(lfs)) ? LFS_I_CANLOOKAHEAD : 0;
|
||||
fsinfo->flags |= (lfsr_fs_ismkconsistent(lfs)) ? LFS_I_MKCONSISTENT : 0;
|
||||
fsinfo->flags |= (lfsr_fs_islookahead(lfs)) ? LFS_I_LOOKAHEAD : 0;
|
||||
|
||||
// return filesystem config, this may come from disk
|
||||
fsinfo->block_size = lfs->cfg->block_size;
|
||||
@@ -14483,10 +14483,10 @@ static int lfsr_fs_gc_(lfs_t *lfs, lfsr_traversal_t *t,
|
||||
uint32_t pending = flags & (
|
||||
(lfs->flags & (
|
||||
LFS_I_UNTIDY
|
||||
| LFS_I_UNCOMPACTED
|
||||
| LFS_I_CANCKMETA
|
||||
| LFS_I_CANCKDATA))
|
||||
| ((lfsr_fs_canlookahead(lfs)) ? LFS_GC_LOOKAHEAD : 0));
|
||||
| LFS_I_COMPACT
|
||||
| LFS_I_CKMETA
|
||||
| LFS_I_CKDATA))
|
||||
| ((lfsr_fs_islookahead(lfs)) ? LFS_GC_LOOKAHEAD : 0));
|
||||
|
||||
while (pending && (lfs_off_t)steps > 0) {
|
||||
// checkpoint the allocator to maximize any lookahead scans
|
||||
@@ -14538,10 +14538,10 @@ static int lfsr_fs_gc_(lfs_t *lfs, lfsr_traversal_t *t,
|
||||
pending &= (
|
||||
(lfs->flags & (
|
||||
LFS_I_UNTIDY
|
||||
| LFS_I_UNCOMPACTED
|
||||
| LFS_I_CANCKMETA
|
||||
| LFS_I_CANCKDATA))
|
||||
| ((lfsr_fs_canlookahead(lfs))
|
||||
| LFS_I_COMPACT
|
||||
| LFS_I_CKMETA
|
||||
| LFS_I_CKDATA))
|
||||
| ((lfsr_fs_islookahead(lfs))
|
||||
? LFS_GC_LOOKAHEAD
|
||||
: 0));
|
||||
}
|
||||
@@ -14569,11 +14569,11 @@ int lfsr_fs_gc(lfs_t *lfs) {
|
||||
int lfsr_fs_unck(lfs_t *lfs, uint32_t flags) {
|
||||
// unknown flags?
|
||||
LFS_ASSERT((flags & ~(
|
||||
LFS_I_INCONSISTENT
|
||||
| LFS_I_CANLOOKAHEAD
|
||||
| LFS_I_UNCOMPACTED
|
||||
| LFS_I_CANCKMETA
|
||||
| LFS_I_CANCKDATA)) == 0);
|
||||
LFS_I_MKCONSISTENT
|
||||
| LFS_I_LOOKAHEAD
|
||||
| LFS_I_COMPACT
|
||||
| LFS_I_CKMETA
|
||||
| LFS_I_CKDATA)) == 0);
|
||||
|
||||
// reset the requested flags
|
||||
lfs->flags |= flags;
|
||||
|
||||
@@ -223,14 +223,12 @@ enum lfs_type {
|
||||
0x08000000 // Mounted with LFS_M_CKDATACKSUMS
|
||||
#endif
|
||||
|
||||
#define LFS_I_INCONSISTENT \
|
||||
#define LFS_I_MKCONSISTENT \
|
||||
0x00001000 // Filesystem needs mkconsistent to write
|
||||
#define LFS_I_CANLOOKAHEAD \
|
||||
0x00002000 // Lookahead buffer is not full
|
||||
#define LFS_I_UNCOMPACTED \
|
||||
0x00008000 // Filesystem may have uncompacted metadata
|
||||
#define LFS_I_CANCKMETA 0x00010000 // Metadata checksums not checked recently
|
||||
#define LFS_I_CANCKDATA 0x00020000 // Data checksums not checked recently
|
||||
#define LFS_I_LOOKAHEAD 0x00002000 // Lookahead buffer is not full
|
||||
#define LFS_I_COMPACT 0x00008000 // Filesystem may have uncompacted metadata
|
||||
#define LFS_I_CKMETA 0x00010000 // Metadata checksums not checked recently
|
||||
#define LFS_I_CKDATA 0x00020000 // Data checksums not checked recently
|
||||
|
||||
// internally used flags, don't use these
|
||||
#define LFS_I_UNTIDY 0x00001000 // Filesystem may have orphaned stickynotes
|
||||
|
||||
@@ -5318,7 +5318,7 @@ code = '''
|
||||
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(!(fsinfo.flags & LFS_I_INCONSISTENT));
|
||||
assert(!(fsinfo.flags & LFS_I_MKCONSISTENT));
|
||||
|
||||
// double check the actual disk state, it's easy for littlefs to
|
||||
// lie here
|
||||
@@ -5454,7 +5454,7 @@ code = '''
|
||||
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(!(fsinfo.flags & LFS_I_INCONSISTENT));
|
||||
assert(!(fsinfo.flags & LFS_I_MKCONSISTENT));
|
||||
|
||||
// double check the actual disk state, it's easy for littlefs to
|
||||
// lie here
|
||||
@@ -5604,7 +5604,7 @@ code = '''
|
||||
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(!(fsinfo.flags & LFS_I_INCONSISTENT));
|
||||
assert(!(fsinfo.flags & LFS_I_MKCONSISTENT));
|
||||
|
||||
// double check the actual disk state, it's easy for littlefs to
|
||||
// lie here
|
||||
@@ -5760,7 +5760,7 @@ code = '''
|
||||
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(!(fsinfo.flags & LFS_I_INCONSISTENT));
|
||||
assert(!(fsinfo.flags & LFS_I_MKCONSISTENT));
|
||||
|
||||
// double check the actual disk state, it's easy for littlefs to
|
||||
// lie here
|
||||
|
||||
+29
-29
@@ -44,7 +44,7 @@ code = '''
|
||||
// expect dirty initial state or else our test doesn't work
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(fsinfo.flags & LFS_I_CANLOOKAHEAD);
|
||||
assert(fsinfo.flags & LFS_I_LOOKAHEAD);
|
||||
assert(lfs.omdirs != &lfs.gc.t.o.o);
|
||||
|
||||
// run GC until we make progress
|
||||
@@ -55,7 +55,7 @@ code = '''
|
||||
lfsr_fs_gc(&lfs) => 0;
|
||||
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & LFS_I_CANLOOKAHEAD)) {
|
||||
if (!(fsinfo.flags & LFS_I_LOOKAHEAD)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -111,7 +111,7 @@ code = '''
|
||||
// expect dirty initial state or else our test doesn't work
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(fsinfo.flags & LFS_I_CANLOOKAHEAD);
|
||||
assert(fsinfo.flags & LFS_I_LOOKAHEAD);
|
||||
assert(lfs.omdirs != &lfs.gc.t.o.o);
|
||||
|
||||
// run GC one step
|
||||
@@ -134,7 +134,7 @@ code = '''
|
||||
|
||||
// we should _not_ make progress
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(fsinfo.flags & LFS_I_CANLOOKAHEAD);
|
||||
assert(fsinfo.flags & LFS_I_LOOKAHEAD);
|
||||
|
||||
// check the file contents
|
||||
lfsr_file_open(&lfs, &file, "spider", LFS_O_RDONLY) => 0;
|
||||
@@ -196,7 +196,7 @@ code = '''
|
||||
// expect dirty initial state or else our test doesn't work
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(fsinfo.flags & LFS_I_UNCOMPACTED);
|
||||
assert(fsinfo.flags & LFS_I_COMPACT);
|
||||
assert(lfs.omdirs != &lfs.gc.t.o.o);
|
||||
|
||||
// run GC until we make progress
|
||||
@@ -207,7 +207,7 @@ code = '''
|
||||
lfsr_fs_gc(&lfs) => 0;
|
||||
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & LFS_I_UNCOMPACTED)) {
|
||||
if (!(fsinfo.flags & LFS_I_COMPACT)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -285,7 +285,7 @@ code = '''
|
||||
// expect dirty initial state or else our test doesn't work
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(fsinfo.flags & LFS_I_UNCOMPACTED);
|
||||
assert(fsinfo.flags & LFS_I_COMPACT);
|
||||
assert(lfs.omdirs != &lfs.gc.t.o.o);
|
||||
|
||||
// run GC one traversal + one step
|
||||
@@ -315,7 +315,7 @@ code = '''
|
||||
|
||||
// we should _not_ make progress
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(fsinfo.flags & LFS_I_UNCOMPACTED);
|
||||
assert(fsinfo.flags & LFS_I_COMPACT);
|
||||
|
||||
// check we can still read the file
|
||||
for (int remount = 0; remount < 2; remount++) {
|
||||
@@ -406,7 +406,7 @@ code = '''
|
||||
// expect dirty initial state or else our test doesn't work
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(fsinfo.flags & LFS_I_INCONSISTENT);
|
||||
assert(fsinfo.flags & LFS_I_MKCONSISTENT);
|
||||
assert(lfs.omdirs != &lfs.gc.t.o.o);
|
||||
|
||||
// run GC until we make progress
|
||||
@@ -417,7 +417,7 @@ code = '''
|
||||
lfsr_fs_gc(&lfs) => 0;
|
||||
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & LFS_I_INCONSISTENT)) {
|
||||
if (!(fsinfo.flags & LFS_I_MKCONSISTENT)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -505,7 +505,7 @@ code = '''
|
||||
// expect dirty initial state or else our test doesn't work
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(fsinfo.flags & LFS_I_INCONSISTENT);
|
||||
assert(fsinfo.flags & LFS_I_MKCONSISTENT);
|
||||
#ifdef LFS_GC
|
||||
assert(lfs.omdirs != &lfs.gc.t.o.o);
|
||||
#endif
|
||||
@@ -515,7 +515,7 @@ code = '''
|
||||
|
||||
// we should have made progress
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(!(fsinfo.flags & LFS_I_INCONSISTENT));
|
||||
assert(!(fsinfo.flags & LFS_I_MKCONSISTENT));
|
||||
|
||||
// check we can still read the files
|
||||
for (int remount = 0; remount < 2; remount++) {
|
||||
@@ -623,7 +623,7 @@ code = '''
|
||||
// we should now have dirty state
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(fsinfo.flags & LFS_I_INCONSISTENT);
|
||||
assert(fsinfo.flags & LFS_I_MKCONSISTENT);
|
||||
|
||||
// run GC until our traversal is done
|
||||
while (lfs.omdirs == &lfs.gc.t.o.o) {
|
||||
@@ -632,7 +632,7 @@ code = '''
|
||||
|
||||
// we should _not_ make progress
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(fsinfo.flags & LFS_I_INCONSISTENT);
|
||||
assert(fsinfo.flags & LFS_I_MKCONSISTENT);
|
||||
|
||||
// check we can still read the files
|
||||
for (int remount = 0; remount < 2; remount++) {
|
||||
@@ -1107,7 +1107,7 @@ code = '''
|
||||
while (true) {
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & LFS_I_CANCKMETA)) {
|
||||
if (!(fsinfo.flags & LFS_I_CKMETA)) {
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1120,7 +1120,7 @@ code = '''
|
||||
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(!(fsinfo.flags & LFS_I_CANCKMETA));
|
||||
assert(!(fsinfo.flags & LFS_I_CKMETA));
|
||||
|
||||
// remount with LFS_M_CKMETA
|
||||
} else if (AFTER == 3) {
|
||||
@@ -1129,7 +1129,7 @@ code = '''
|
||||
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(!(fsinfo.flags & LFS_I_CANCKMETA));
|
||||
assert(!(fsinfo.flags & LFS_I_CKMETA));
|
||||
|
||||
} else {
|
||||
assert(false);
|
||||
@@ -1175,7 +1175,7 @@ code = '''
|
||||
|
||||
clobbered:;
|
||||
// clear relevant ck flags
|
||||
lfsr_fs_unck(&lfs, LFS_I_CANCKMETA) => 0;
|
||||
lfsr_fs_unck(&lfs, LFS_I_CKMETA) => 0;
|
||||
|
||||
// running lfsr_fs_gc should eventually find the clobbered block
|
||||
for (lfs_block_t i = 0;; i++) {
|
||||
@@ -1255,7 +1255,7 @@ code = '''
|
||||
while (true) {
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
if (!(fsinfo.flags & LFS_I_CANCKDATA)) {
|
||||
if (!(fsinfo.flags & LFS_I_CKDATA)) {
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1268,7 +1268,7 @@ code = '''
|
||||
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(!(fsinfo.flags & LFS_I_CANCKDATA));
|
||||
assert(!(fsinfo.flags & LFS_I_CKDATA));
|
||||
|
||||
// remount with LFS_M_CKDATA
|
||||
} else if (AFTER == 3) {
|
||||
@@ -1277,7 +1277,7 @@ code = '''
|
||||
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(!(fsinfo.flags & LFS_I_CANCKDATA));
|
||||
assert(!(fsinfo.flags & LFS_I_CKDATA));
|
||||
|
||||
} else {
|
||||
assert(false);
|
||||
@@ -1324,7 +1324,7 @@ code = '''
|
||||
|
||||
clobbered:;
|
||||
// clear relevant ck flags
|
||||
lfsr_fs_unck(&lfs, LFS_I_CANCKDATA) => 0;
|
||||
lfsr_fs_unck(&lfs, LFS_I_CKDATA) => 0;
|
||||
|
||||
// running lfsr_fs_gc should eventually find the clobbered block
|
||||
//
|
||||
@@ -1531,7 +1531,7 @@ code = '''
|
||||
|
||||
// unck to keep things interesting?
|
||||
if (UNCK) {
|
||||
lfsr_fs_unck(&lfs, LFS_I_CANCKMETA | LFS_I_CANCKDATA) => 0;
|
||||
lfsr_fs_unck(&lfs, LFS_I_CKMETA | LFS_I_CKDATA) => 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1718,7 +1718,7 @@ code = '''
|
||||
|
||||
// unck to keep things interesting?
|
||||
if (UNCK) {
|
||||
lfsr_fs_unck(&lfs, LFS_I_CANCKMETA | LFS_I_CANCKDATA) => 0;
|
||||
lfsr_fs_unck(&lfs, LFS_I_CKMETA | LFS_I_CKDATA) => 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1830,7 +1830,7 @@ code = '''
|
||||
|
||||
// unck to keep things interesting?
|
||||
if (UNCK) {
|
||||
lfsr_fs_unck(&lfs, LFS_I_CANCKMETA | LFS_I_CANCKDATA) => 0;
|
||||
lfsr_fs_unck(&lfs, LFS_I_CKMETA | LFS_I_CKDATA) => 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2038,7 +2038,7 @@ code = '''
|
||||
|
||||
// unck to keep things interesting?
|
||||
if (UNCK) {
|
||||
lfsr_fs_unck(&lfs, LFS_I_CANCKMETA | LFS_I_CANCKDATA) => 0;
|
||||
lfsr_fs_unck(&lfs, LFS_I_CKMETA | LFS_I_CKDATA) => 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2211,7 +2211,7 @@ code = '''
|
||||
|
||||
// unck to keep things interesting?
|
||||
if (UNCK) {
|
||||
lfsr_fs_unck(&lfs, LFS_I_CANCKMETA | LFS_I_CANCKDATA) => 0;
|
||||
lfsr_fs_unck(&lfs, LFS_I_CKMETA | LFS_I_CKDATA) => 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2550,7 +2550,7 @@ code = '''
|
||||
|
||||
// unck to keep things interesting?
|
||||
if (UNCK) {
|
||||
lfsr_fs_unck(&lfs, LFS_I_CANCKMETA | LFS_I_CANCKDATA) => 0;
|
||||
lfsr_fs_unck(&lfs, LFS_I_CKMETA | LFS_I_CKDATA) => 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2977,7 +2977,7 @@ code = '''
|
||||
|
||||
// unck to keep things interesting?
|
||||
if (UNCK) {
|
||||
lfsr_fs_unck(&lfs, LFS_I_CANCKMETA | LFS_I_CANCKDATA) => 0;
|
||||
lfsr_fs_unck(&lfs, LFS_I_CKMETA | LFS_I_CKDATA) => 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+32
-32
@@ -72,11 +72,11 @@ code = '''
|
||||
| ((CKDATACKSUMS)
|
||||
? LFS_IFDEF_CKDATACKSUMS(LFS_I_CKDATACKSUMS, -1)
|
||||
: 0)
|
||||
| ((!MKCONSISTENT) ? LFS_I_INCONSISTENT : 0)
|
||||
| ((!LOOKAHEAD) ? LFS_I_CANLOOKAHEAD : 0)
|
||||
| ((!COMPACT) ? LFS_I_UNCOMPACTED : 0)
|
||||
| ((!CKMETA) ? LFS_I_CANCKMETA : 0)
|
||||
| ((!CKDATA) ? LFS_I_CANCKDATA : 0)));
|
||||
| ((!MKCONSISTENT) ? LFS_I_MKCONSISTENT : 0)
|
||||
| ((!LOOKAHEAD) ? LFS_I_LOOKAHEAD : 0)
|
||||
| ((!COMPACT) ? LFS_I_COMPACT : 0)
|
||||
| ((!CKMETA) ? LFS_I_CKMETA : 0)
|
||||
| ((!CKDATA) ? LFS_I_CKDATA : 0)));
|
||||
|
||||
lfsr_unmount(&lfs) => 0;
|
||||
'''
|
||||
@@ -135,11 +135,11 @@ code = '''
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(fsinfo.flags == (
|
||||
LFS_I_INCONSISTENT
|
||||
| LFS_I_CANLOOKAHEAD
|
||||
| LFS_I_UNCOMPACTED
|
||||
| LFS_I_CANCKMETA
|
||||
| LFS_I_CANCKDATA));
|
||||
LFS_I_MKCONSISTENT
|
||||
| LFS_I_LOOKAHEAD
|
||||
| LFS_I_COMPACT
|
||||
| LFS_I_CKMETA
|
||||
| LFS_I_CKDATA));
|
||||
lfsr_unmount(&lfs) => 0;
|
||||
|
||||
// with LFS_M_LOOKAHEAD, mount performs a lookahead scan
|
||||
@@ -151,10 +151,10 @@ code = '''
|
||||
CFG) => 0;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(fsinfo.flags == (
|
||||
LFS_I_INCONSISTENT
|
||||
| LFS_I_UNCOMPACTED
|
||||
| ((!CKMETA) ? LFS_I_CANCKMETA : 0)
|
||||
| ((!CKDATA) ? LFS_I_CANCKDATA : 0)));
|
||||
LFS_I_MKCONSISTENT
|
||||
| LFS_I_COMPACT
|
||||
| ((!CKMETA) ? LFS_I_CKMETA : 0)
|
||||
| ((!CKDATA) ? LFS_I_CKDATA : 0)));
|
||||
lfsr_unmount(&lfs) => 0;
|
||||
'''
|
||||
|
||||
@@ -205,11 +205,11 @@ code = '''
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(fsinfo.flags == (
|
||||
LFS_I_INCONSISTENT
|
||||
| LFS_I_CANLOOKAHEAD
|
||||
| LFS_I_UNCOMPACTED
|
||||
| LFS_I_CANCKMETA
|
||||
| LFS_I_CANCKDATA));
|
||||
LFS_I_MKCONSISTENT
|
||||
| LFS_I_LOOKAHEAD
|
||||
| LFS_I_COMPACT
|
||||
| LFS_I_CKMETA
|
||||
| LFS_I_CKDATA));
|
||||
lfsr_unmount(&lfs) => 0;
|
||||
|
||||
// with LFS_M_COMPACT, mount compact any uncompacted blocks
|
||||
@@ -222,10 +222,10 @@ code = '''
|
||||
CFG) => 0;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(fsinfo.flags == (
|
||||
LFS_I_INCONSISTENT
|
||||
| ((!LOOKAHEAD) ? LFS_I_CANLOOKAHEAD : 0)
|
||||
| ((!CKMETA) ? LFS_I_CANCKMETA : 0)
|
||||
| ((!CKDATA) ? LFS_I_CANCKDATA : 0)));
|
||||
LFS_I_MKCONSISTENT
|
||||
| ((!LOOKAHEAD) ? LFS_I_LOOKAHEAD : 0)
|
||||
| ((!CKMETA) ? LFS_I_CKMETA : 0)
|
||||
| ((!CKDATA) ? LFS_I_CKDATA : 0)));
|
||||
|
||||
// mdir should have been compacted
|
||||
lfsr_file_open(&lfs, &file, "jellyfish", LFS_O_RDONLY) => 0;
|
||||
@@ -303,11 +303,11 @@ code = '''
|
||||
struct lfs_fsinfo fsinfo;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(fsinfo.flags == (
|
||||
LFS_I_INCONSISTENT
|
||||
| LFS_I_CANLOOKAHEAD
|
||||
| LFS_I_UNCOMPACTED
|
||||
| LFS_I_CANCKMETA
|
||||
| LFS_I_CANCKDATA));
|
||||
LFS_I_MKCONSISTENT
|
||||
| LFS_I_LOOKAHEAD
|
||||
| LFS_I_COMPACT
|
||||
| LFS_I_CKMETA
|
||||
| LFS_I_CKDATA));
|
||||
lfsr_unmount(&lfs) => 0;
|
||||
|
||||
// with LFS_M_MKCONSISTENT, mount cleans up orphans eagerly
|
||||
@@ -321,10 +321,10 @@ code = '''
|
||||
CFG) => 0;
|
||||
lfsr_fs_stat(&lfs, &fsinfo) => 0;
|
||||
assert(fsinfo.flags == (
|
||||
((!LOOKAHEAD) ? LFS_I_CANLOOKAHEAD : 0)
|
||||
| ((!COMPACT) ? LFS_I_UNCOMPACTED : 0)
|
||||
| ((!CKMETA) ? LFS_I_CANCKMETA : 0)
|
||||
| ((!CKDATA) ? LFS_I_CANCKDATA : 0)));
|
||||
((!LOOKAHEAD) ? LFS_I_LOOKAHEAD : 0)
|
||||
| ((!COMPACT) ? LFS_I_COMPACT : 0)
|
||||
| ((!CKMETA) ? LFS_I_CKMETA : 0)
|
||||
| ((!CKDATA) ? LFS_I_CKDATA : 0)));
|
||||
|
||||
// check we can still read the files
|
||||
lfsr_file_open(&lfs, &file, "cuttlefish", LFS_O_RDONLY) => 0;
|
||||
|
||||
+291
-291
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user