From acad3a3143475f5df6ae5c72ef2096bef003c919 Mon Sep 17 00:00:00 2001 From: Christopher Haster Date: Mon, 12 Aug 2024 13:50:36 -0500 Subject: [PATCH] Added format flags to lfsr_format This is mainly to solve the weird check-hole where passing CKPROGS/ CKREADS as mount flags has no effect on lfsr_format (I mean, it'd be a bit silly if it did somehow): LFS_F_RDWR 0 // Format the filesystem as read and write LFS_F_CKPROGS 0x00000010 // Check progs by reading back progged data LFS_F_CKREADS 0x00000020 // Check reads via parity bits/checksums This makes lfsr_format a more cumbersome interface, but I don't know if this is necessarily a bad thing. There's always risk of data loss when calling lfsr_format, so maybe it should be a pain to call. At the very least, format flags may be useful in the future for enabling/disabling format-time things such as the planned block-map, parity-tree, etc. Though it's unclear if such significant settings should be format flags or somehow encoded as fields in our config struct. --- The LFS_F_* format flags of course ended up conflicting with our internal LFS_F_* flags, so I renamed most of the internal flags to match the closest flag set they participate in: - LFS_F_TYPE -> LFS_O_TYPE - LFS_F_UNFLUSH -> LFS_O_UNFLUSH - LFS_F_UNSYNC -> LFS_O_UNSYNC - LFS_F_ORPHAN -> LFS_O_ORPHAN - LFS_F_ZOMBIE -> LFS_O_ZOMBIE - LFS_F_ORPHANS -> LFS_I_ORPHANS - LFS_F_UNCOMPACTED -> LFS_I_UNCOMPACTED - LFS_F_TSTATE -> LFS_T_TSTATE - LFS_F_BTYPE -> LFS_T_BTYPE - LFS_F_DIRTY -> LFS_T_DIRTY - LFS_F_MUTATED -> LFS_T_MUTATED This may make it a bit less clear which flags are a part of the public API, vs intended only for internal use, but at the very least our asserts in format/mount/open/etc should catch most of these mistakes. --- Code cost ended up being pretty minimal. Actually negative. This is the second time we're _adding_ a feature that somehow saves code, though the reality for this one is we're really just pushing constants up into the user's stack frame. Still, it's a good indication the cost of format flags is small: code stack before: 36452 2680 after: 36448 (-0.0%) 2680 (+0.0%) --- lfs.c | 374 ++++++++++++++++++------------------ lfs.h | 55 +++--- tests/test_alloc.toml | 14 +- tests/test_badblocks.toml | 112 ++++++++--- tests/test_ck.toml | 28 +-- tests/test_compat.toml | 28 +-- tests/test_dirs.toml | 98 +++++----- tests/test_dread.toml | 34 ++-- tests/test_exhaustion.toml | 25 ++- tests/test_files.toml | 54 +++--- tests/test_forphans.toml | 90 ++++----- tests/test_fsync.toml | 60 +++--- tests/test_fwrite.toml | 44 ++--- tests/test_gc.toml | 52 ++--- tests/test_grow.toml | 24 +-- tests/test_mount.toml | 65 ++++--- tests/test_mtree.toml | 96 ++++----- tests/test_paths.toml | 24 +-- tests/test_powerloss.toml | 8 +- tests/test_relocations.toml | 16 +- tests/test_traversal.toml | 162 ++++++++-------- 21 files changed, 785 insertions(+), 678 deletions(-) diff --git a/lfs.c b/lfs.c index 16074c50..563df64c 100644 --- a/lfs.c +++ b/lfs.c @@ -5816,7 +5816,7 @@ static inline int lfsr_sprout_cmp( } // needed in lfsr_sprout_estimate -static inline bool lfsr_f_isbshrub(uint32_t flags); +static inline bool lfsr_o_isbshrub(uint32_t flags); // these are used in mdir compaction static lfs_ssize_t lfsr_sprout_estimate(lfs_t *lfs, @@ -5824,7 +5824,7 @@ static lfs_ssize_t lfsr_sprout_estimate(lfs_t *lfs, // only include the last reference const lfsr_sprout_t *last = NULL; for (lfsr_omdir_t *o = lfs->omdirs; o; o = o->next) { - if (lfsr_f_isbshrub(o->flags) + if (lfsr_o_isbshrub(o->flags) && lfsr_bshrub_isbsprout(&o->mdir, &((lfsr_obshrub_t*)o)->bshrub) && lfsr_sprout_cmp( @@ -5857,7 +5857,7 @@ static int lfsr_sprout_compact(lfs_t *lfs, const lfsr_rbyd_t *rbyd_, // stage any opened inlined files with their new location so we // can update these later if our commit is a success for (lfsr_omdir_t *o = lfs->omdirs; o; o = o->next) { - if (lfsr_f_isbshrub(o->flags) + if (lfsr_o_isbshrub(o->flags) && lfsr_bshrub_isbsprout(&o->mdir, &((lfsr_obshrub_t*)o)->bshrub) && lfsr_sprout_cmp( @@ -5974,7 +5974,7 @@ static lfs_ssize_t lfsr_shrub_estimate(lfs_t *lfs, // only include the last reference const lfsr_shrub_t *last = NULL; for (lfsr_omdir_t *o = lfs->omdirs; o; o = o->next) { - if (lfsr_f_isbshrub(o->flags) + if (lfsr_o_isbshrub(o->flags) && lfsr_bshrub_isbshrub(&o->mdir, &((lfsr_obshrub_t*)o)->bshrub) && lfsr_shrub_cmp( @@ -6008,7 +6008,7 @@ static int lfsr_shrub_compact(lfs_t *lfs, lfsr_rbyd_t *rbyd_, // // this should include our current bshrub for (lfsr_omdir_t *o = lfs->omdirs; o; o = o->next) { - if (lfsr_f_isbshrub(o->flags) + if (lfsr_o_isbshrub(o->flags) && lfsr_bshrub_isbshrub(&o->mdir, &((lfsr_obshrub_t*)o)->bshrub) && lfsr_shrub_cmp( @@ -6115,7 +6115,7 @@ static lfs_ssize_t lfsr_bshrub_estimate(lfs_t *lfs, // this includes our current shrub for (lfsr_omdir_t *o = lfs->omdirs; o; o = o->next) { - if (lfsr_f_isbshrub(o->flags) + if (lfsr_o_isbshrub(o->flags) && o->mdir.mid == mdir->mid) { if (lfsr_bshrub_isbsprout(&o->mdir, &((lfsr_obshrub_t*)o)->bshrub)) { @@ -6305,7 +6305,7 @@ static int lfsr_bshrub_commit_(lfs_t *lfs, // as unerased if (lfsr_bshrub_isbtree(mdir, bshrub)) { for (lfsr_omdir_t *o = lfs->omdirs; o; o = o->next) { - if (lfsr_f_isbshrub(o->flags) + if (lfsr_o_isbshrub(o->flags) && &((lfsr_obshrub_t*)o)->bshrub != bshrub && lfsr_bshrub_isbshruborbtree( &((lfsr_obshrub_t*)o)->bshrub) @@ -6394,7 +6394,7 @@ static int lfsr_bshrub_commit_(lfs_t *lfs, // update _all_ shrubs with the new estimate for (lfsr_omdir_t *o = lfs->omdirs; o; o = o->next) { - if (lfsr_f_isbshrub(o->flags) + if (lfsr_o_isbshrub(o->flags) && o->mdir.mid == mdir->mid && lfsr_bshrub_isbshrub(&o->mdir, &((lfsr_obshrub_t*)o)->bshrub)) { @@ -6592,33 +6592,33 @@ static inline bool lfsr_o_isckdata(uint32_t flags) { } // internal open flags -static inline uint8_t lfsr_f_type(uint32_t flags) { +static inline uint8_t lfsr_o_type(uint32_t flags) { return flags >> 24; } -static inline uint32_t lfsr_f_settype(uint32_t flags, uint8_t type) { +static inline uint32_t lfsr_o_settype(uint32_t flags, uint8_t type) { return (flags & ~0xff000000) | ((uint32_t)type << 24); } -static inline bool lfsr_f_isbshrub(uint32_t flags) { +static inline bool lfsr_o_isbshrub(uint32_t flags) { // it turns out that bshrub types share a bit return flags & 0x01000000; } -static inline bool lfsr_f_isunflush(uint32_t flags) { - return flags & LFS_F_UNFLUSH; +static inline bool lfsr_o_isunflush(uint32_t flags) { + return flags & LFS_O_UNFLUSH; } -static inline bool lfsr_f_isunsync(uint32_t flags) { - return flags & LFS_F_UNSYNC; +static inline bool lfsr_o_isunsync(uint32_t flags) { + return flags & LFS_O_UNSYNC; } -static inline bool lfsr_f_isorphan(uint32_t flags) { - return flags & LFS_F_ORPHAN; +static inline bool lfsr_o_isorphan(uint32_t flags) { + return flags & LFS_O_ORPHAN; } -static inline bool lfsr_f_iszombie(uint32_t flags) { - return flags & LFS_F_ZOMBIE; +static inline bool lfsr_o_iszombie(uint32_t flags) { + return flags & LFS_O_ZOMBIE; } // traversal flags @@ -6647,31 +6647,31 @@ static inline bool lfsr_t_isckdata(uint32_t flags) { } // internal traversal flags -static inline uint8_t lfsr_f_tstate(uint32_t flags) { +static inline uint8_t lfsr_t_tstate(uint32_t flags) { return (flags >> 0) & 0xf; } -static inline uint32_t lfsr_f_settstate(uint32_t flags, uint8_t tstate) { +static inline uint32_t lfsr_t_settstate(uint32_t flags, uint8_t tstate) { return (flags & ~0x0000000f) | (tstate << 0); } -static inline uint8_t lfsr_f_btype(uint32_t flags) { +static inline uint8_t lfsr_t_btype(uint32_t flags) { return (flags >> 4) & 0xf; } -static inline uint32_t lfsr_f_setbtype(uint32_t flags, uint8_t btype) { +static inline uint32_t lfsr_t_setbtype(uint32_t flags, uint8_t btype) { return (flags & ~0x000000f0) | (btype << 4); } -static inline bool lfsr_f_isdirty(uint32_t flags) { - return flags & LFS_F_DIRTY; +static inline bool lfsr_t_isdirty(uint32_t flags) { + return flags & LFS_T_DIRTY; } -static inline bool lfsr_f_ismutated(uint32_t flags) { - return flags & LFS_F_MUTATED; +static inline bool lfsr_t_ismutated(uint32_t flags) { + return flags & LFS_T_MUTATED; } -static inline uint32_t lfsr_f_swapdirty(uint32_t flags) { +static inline uint32_t lfsr_t_swapdirty(uint32_t flags) { uint32_t x = ((flags >> 19) ^ (flags >> 18)) & 0x1; return flags ^ (x << 19) ^ (x << 18); } @@ -6700,12 +6700,12 @@ static inline bool lfsr_m_issync(uint32_t flags) { } // internal fs flags -static inline bool lfsr_f_hasorphans(uint32_t flags) { - return flags & LFS_F_ORPHANS; +static inline bool lfsr_i_hasorphans(uint32_t flags) { + return flags & LFS_I_ORPHANS; } -static inline bool lfsr_f_isuncompacted(uint32_t flags) { - return flags & LFS_F_UNCOMPACTED; +static inline bool lfsr_i_isuncompacted(uint32_t flags) { + return flags & LFS_I_UNCOMPACTED; } // on-demand flags @@ -6714,7 +6714,7 @@ static inline bool lfsr_f_isuncompacted(uint32_t flags) { static inline uint8_t lfsr_grm_count(const lfs_t *lfs); static bool lfsr_fs_isinconsistent(const lfs_t *lfs) { - return lfsr_grm_count(lfs) > 0 || lfsr_f_hasorphans(lfs->flags); + return lfsr_grm_count(lfs) > 0 || lfsr_i_hasorphans(lfs->flags); } static bool lfsr_fs_canlookahead(const lfs_t *lfs) { @@ -6770,7 +6770,7 @@ static bool lfsr_omdir_ismidopen(lfs_t *lfs, lfsr_smid_t mid) { for (lfsr_omdir_t *o = lfs->omdirs; o; o = o->next) { // we really only care about regular open files here, all // others are either transient (dirs) or fake (orphans) - if (lfsr_f_type(o->flags) == LFS_TYPE_REG + if (lfsr_o_type(o->flags) == LFS_TYPE_REG && o->mdir.mid == mid) { return true; } @@ -6788,8 +6788,8 @@ static void lfsr_traversal_clobber(lfs_t *lfs, lfsr_traversal_t *t); static void lfsr_omdir_clobber(lfs_t *lfs, const lfsr_omdir_t *o, bool dirty) { for (lfsr_omdir_t *o_ = lfs->omdirs; o_; o_ = o_->next) { - if (lfsr_f_type(o_->flags) == LFS_TYPE_TRAVERSAL) { - o_->flags |= (dirty) ? LFS_F_DIRTY : 0; + if (lfsr_o_type(o_->flags) == LFS_TYPE_TRAVERSAL) { + o_->flags |= (dirty) ? LFS_T_DIRTY : 0; if (o && ((lfsr_traversal_t*)o_)->ot == o) { lfsr_traversal_clobber(lfs, (lfsr_traversal_t*)o_); @@ -7584,7 +7584,7 @@ static int lfsr_mdir_commit__(lfs_t *lfs, lfsr_mdir_t *mdir, // unsynced files for (lfsr_omdir_t *o = lfs->omdirs; o; o = o->next) { // belongs to our mid? - if (!(lfsr_f_isbshrub(o->flags) + if (!(lfsr_o_isbshrub(o->flags) && o->mdir.mid == mdir__->mid)) { continue; } @@ -7772,7 +7772,7 @@ static lfs_ssize_t lfsr_mdir_estimate__(lfs_t *lfs, const lfsr_mdir_t *mdir, // opened files by mid for (lfsr_omdir_t *o = lfs->omdirs; o; o = o->next) { // belongs to our mdir + rid? - if (!(lfsr_f_isbshrub(o->flags) + if (!(lfsr_o_isbshrub(o->flags) && lfsr_mdir_cmp(&o->mdir, mdir) == 0 && lfsr_mid_rid(lfs, o->mdir.mid) == a_rid)) { continue; @@ -7920,7 +7920,7 @@ static int lfsr_mdir_compact__(lfs_t *lfs, lfsr_mdir_t *mdir_, // we're not quite done! we also need to bring over any unsynced files for (lfsr_omdir_t *o = lfs->omdirs; o; o = o->next) { // belongs to our mdir? - if (!(lfsr_f_isbshrub(o->flags) + if (!(lfsr_o_isbshrub(o->flags) && lfsr_mdir_cmp(&o->mdir, mdir) == 0 && lfsr_mid_rid(lfs, o->mdir.mid) >= start_rid && (lfsr_rid_t)lfsr_mid_rid(lfs, o->mdir.mid) @@ -8176,7 +8176,7 @@ static int lfsr_mdir_commit(lfs_t *lfs, lfsr_mdir_t *mdir, } // stage any bsprouts/bshrubs - if (lfsr_f_isbshrub(o->flags)) { + if (lfsr_o_isbshrub(o->flags)) { ((lfsr_obshrub_t*)o)->bshrub_ = ((lfsr_obshrub_t*)o)->bshrub; } } @@ -8643,7 +8643,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_fs_gc can prove otherwise - lfs->flags |= LFS_F_UNCOMPACTED; + lfs->flags |= LFS_I_UNCOMPACTED; // update any gstate changes lfsr_fs_commitgdelta(lfs); @@ -8659,8 +8659,8 @@ static int lfsr_mdir_commit(lfs_t *lfs, lfsr_mdir_t *mdir, // removed? if (o->mdir.mid < mid_ - attrs[i].weight) { // we should not be removing opened regular files - LFS_ASSERT(lfsr_f_type(o->flags) != LFS_TYPE_REG); - o->flags |= LFS_F_ZOMBIE; + LFS_ASSERT(lfsr_o_type(o->flags) != LFS_TYPE_REG); + o->flags |= LFS_O_ZOMBIE; o->mdir.mid = mid_; } else { o->mdir.mid += attrs[i].weight; @@ -8674,7 +8674,7 @@ static int lfsr_mdir_commit(lfs_t *lfs, lfsr_mdir_t *mdir, // update any staged bsprouts/bshrubs for (lfsr_omdir_t *o = lfs->omdirs; o; o = o->next) { - if (lfsr_f_isbshrub(o->flags)) { + if (lfsr_o_isbshrub(o->flags)) { ((lfsr_obshrub_t*)o)->bshrub = ((lfsr_obshrub_t*)o)->bshrub_; } } @@ -8686,7 +8686,7 @@ static int lfsr_mdir_commit(lfs_t *lfs, lfsr_mdir_t *mdir, if (lfsr_mdir_cmp(&mroot_, &lfs->mroot) != 0 || lfsr_mtree_cmp(&mtree_, &lfs->mtree) != 0) { for (lfsr_omdir_t *o = lfs->omdirs; o; o = o->next) { - if (lfsr_f_type(o->flags) == LFS_TYPE_TRAVERSAL + if (lfsr_o_type(o->flags) == LFS_TYPE_TRAVERSAL && o->mdir.mid == -1 // don't clobber the current mdir, assume upper layers // know what they're doing @@ -9059,7 +9059,7 @@ enum { static int lfsr_mtree_traverse_(lfs_t *lfs, lfsr_traversal_t *t, lfsr_tag_t *tag_, lfsr_bptr_t *bptr_) { while (true) { - switch (lfsr_f_tstate(t->o.o.flags)) { + switch (lfsr_t_tstate(t->o.o.flags)) { // start with the mrootanchor 0x{0,1} // // note we make sure to include all mroots in our mroot chain! @@ -9073,7 +9073,7 @@ static int lfsr_mtree_traverse_(lfs_t *lfs, lfsr_traversal_t *t, } // transition to traversing the mroot chain - t->o.o.flags = lfsr_f_settstate(t->o.o.flags, + t->o.o.flags = lfsr_t_settstate(t->o.o.flags, LFSR_TSTATE_MROOTCHAIN); if (tag_) { @@ -9096,7 +9096,7 @@ static int lfsr_mtree_traverse_(lfs_t *lfs, lfsr_traversal_t *t, // traverse any files in our mroot next if (err == LFS_ERR_NOENT) { t->o.o.mdir.mid = 0; - t->o.o.flags = lfsr_f_settstate(t->o.o.flags, + t->o.o.flags = lfsr_t_settstate(t->o.o.flags, LFSR_TSTATE_MDIR); continue; } @@ -9160,7 +9160,7 @@ static int lfsr_mtree_traverse_(lfs_t *lfs, lfsr_traversal_t *t, } // transition to traversing the mdir - t->o.o.flags = lfsr_f_settstate(t->o.o.flags, + t->o.o.flags = lfsr_t_settstate(t->o.o.flags, LFSR_TSTATE_MDIR); if (tag_) { @@ -9181,7 +9181,7 @@ static int lfsr_mtree_traverse_(lfs_t *lfs, lfsr_traversal_t *t, // transition to traversing the mtree t->u.bt = LFSR_BTRAVERSAL(); - t->o.o.flags = lfsr_f_settstate(t->o.o.flags, + t->o.o.flags = lfsr_t_settstate(t->o.o.flags, LFSR_TSTATE_MTREE); continue; @@ -9198,7 +9198,7 @@ static int lfsr_mtree_traverse_(lfs_t *lfs, lfsr_traversal_t *t, if (err) { // end of mtree? guess we're done if (err == LFS_ERR_NOENT) { - t->o.o.flags = lfsr_f_settstate(t->o.o.flags, + t->o.o.flags = lfsr_t_settstate(t->o.o.flags, LFSR_TSTATE_DONE); continue; } @@ -9206,7 +9206,7 @@ static int lfsr_mtree_traverse_(lfs_t *lfs, lfsr_traversal_t *t, } // transition to traversing the mdir - t->o.o.flags = lfsr_f_settstate(t->o.o.flags, + t->o.o.flags = lfsr_t_settstate(t->o.o.flags, LFSR_TSTATE_MDIR); if (tag_) { @@ -9225,7 +9225,7 @@ static int lfsr_mtree_traverse_(lfs_t *lfs, lfsr_traversal_t *t, || lfsr_mid_rid(lfs, t->o.o.mdir.mid) >= (lfsr_srid_t)t->o.o.mdir.rbyd.weight) { t->o.o.mdir.mid = lfsr_mid_bid(lfs, t->o.o.mdir.mid) + 1; - t->o.o.flags = lfsr_f_settstate(t->o.o.flags, + t->o.o.flags = lfsr_t_settstate(t->o.o.flags, LFSR_TSTATE_MDIRS); continue; } @@ -9263,14 +9263,14 @@ static int lfsr_mtree_traverse_(lfs_t *lfs, lfsr_traversal_t *t, // no? next we need to check any opened files } else { t->ot = lfs->omdirs; - t->o.o.flags = lfsr_f_settstate(t->o.o.flags, + t->o.o.flags = lfsr_t_settstate(t->o.o.flags, LFSR_TSTATE_OMDIRS); continue; } // start traversing t->u.bt = LFSR_BTRAVERSAL(); - t->o.o.flags = lfsr_f_settstate(t->o.o.flags, + t->o.o.flags = lfsr_t_settstate(t->o.o.flags, LFSR_TSTATE_BTREE); continue; @@ -9279,7 +9279,7 @@ static int lfsr_mtree_traverse_(lfs_t *lfs, lfsr_traversal_t *t, // reached end of opened files? return to mdir traversal if (!t->ot) { t->o.o.mdir.mid += 1; - t->o.o.flags = lfsr_f_settstate(t->o.o.flags, + t->o.o.flags = lfsr_t_settstate(t->o.o.flags, LFSR_TSTATE_MDIR); continue; } @@ -9293,8 +9293,8 @@ static int lfsr_mtree_traverse_(lfs_t *lfs, lfsr_traversal_t *t, // this list anyways // if (t->ot->mdir.mid != t->o.o.mdir.mid - || lfsr_f_type(t->ot->flags) != LFS_TYPE_REG - || !lfsr_f_isunsync(t->ot->flags)) { + || lfsr_o_type(t->ot->flags) != LFS_TYPE_REG + || !lfsr_o_isunsync(t->ot->flags)) { t->ot = t->ot->next; continue; } @@ -9303,7 +9303,7 @@ static int lfsr_mtree_traverse_(lfs_t *lfs, lfsr_traversal_t *t, const lfsr_file_t *file = (const lfsr_file_t*)t->ot; t->o.bshrub = file->o.bshrub; t->u.bt = LFSR_BTRAVERSAL(); - t->o.o.flags = lfsr_f_settstate(t->o.o.flags, + t->o.o.flags = lfsr_t_settstate(t->o.o.flags, LFSR_TSTATE_OBTREE); continue; @@ -9319,24 +9319,24 @@ static int lfsr_mtree_traverse_(lfs_t *lfs, lfsr_traversal_t *t, if (err) { if (err == LFS_ERR_NOENT) { // end of mtree? start iterating over mdirs - if (lfsr_f_tstate(t->o.o.flags) + if (lfsr_t_tstate(t->o.o.flags) == LFSR_TSTATE_MTREE) { t->o.o.mdir.mid = 0; - t->o.o.flags = lfsr_f_settstate(t->o.o.flags, + t->o.o.flags = lfsr_t_settstate(t->o.o.flags, LFSR_TSTATE_MDIRS); continue; // end of mdir btree? start iterating over opened files - } else if (lfsr_f_tstate(t->o.o.flags) + } else if (lfsr_t_tstate(t->o.o.flags) == LFSR_TSTATE_BTREE) { t->ot = lfs->omdirs; - t->o.o.flags = lfsr_f_settstate(t->o.o.flags, + t->o.o.flags = lfsr_t_settstate(t->o.o.flags, LFSR_TSTATE_OMDIRS); continue; // end of opened btree? go to next opened file - } else if (lfsr_f_tstate(t->o.o.flags) + } else if (lfsr_t_tstate(t->o.o.flags) == LFSR_TSTATE_OBTREE) { t->ot = t->ot->next; - t->o.o.flags = lfsr_f_settstate(t->o.o.flags, + t->o.o.flags = lfsr_t_settstate(t->o.o.flags, LFSR_TSTATE_OMDIRS); continue; } else { @@ -9443,7 +9443,7 @@ dropped:; } // swap dirty/mutated flags while in lfsr_mtree_gc - t->o.o.flags = lfsr_f_swapdirty(t->o.o.flags); + t->o.o.flags = lfsr_t_swapdirty(t->o.o.flags); // track in-use blocks? if (lfsr_t_islookahead(t->o.o.flags)) { @@ -9453,7 +9453,7 @@ dropped:; // mkconsistencing mdirs? if (lfsr_t_ismkconsistent(t->o.o.flags) && tag == LFSR_TAG_MDIR - && lfsr_f_hasorphans(lfs->flags)) { + && lfsr_i_hasorphans(lfs->flags)) { lfsr_mdir_t *mdir = (lfsr_mdir_t*)bptr.data.u.buffer; err = lfsr_fs_fixorphans_(lfs, mdir); if (err) { @@ -9461,14 +9461,14 @@ dropped:; } // make sure we clear any zombie flags - t->o.o.flags &= ~LFS_F_ZOMBIE; + t->o.o.flags &= ~LFS_O_ZOMBIE; // did this drop our mdir? if (mdir->mid != -1 && mdir->rbyd.weight == 0) { // swap back dirty/mutated flags - t->o.o.flags = lfsr_f_swapdirty(t->o.o.flags); + t->o.o.flags = lfsr_t_swapdirty(t->o.o.flags); // continue traversal - t->o.o.flags = lfsr_f_settstate(t->o.o.flags, LFSR_TSTATE_MDIRS); + t->o.o.flags = lfsr_t_settstate(t->o.o.flags, LFSR_TSTATE_MDIRS); goto dropped; } } @@ -9504,7 +9504,7 @@ dropped:; } // swap back dirty/mutated flags - t->o.o.flags = lfsr_f_swapdirty(t->o.o.flags); + t->o.o.flags = lfsr_t_swapdirty(t->o.o.flags); if (tag_) { *tag_ = tag; } @@ -9515,29 +9515,29 @@ dropped:; failed:; // swap back dirty/mutated flags - t->o.o.flags = lfsr_f_swapdirty(t->o.o.flags); + t->o.o.flags = lfsr_t_swapdirty(t->o.o.flags); return err; eot:; // was lookahead scan successful? if (lfsr_t_islookahead(t->o.o.flags) - && !lfsr_f_isdirty(t->o.o.flags) - && !lfsr_f_ismutated(t->o.o.flags)) { + && !lfsr_t_isdirty(t->o.o.flags) + && !lfsr_t_ismutated(t->o.o.flags)) { lfs_alloc_markfree(lfs); } // was mkconsistent successful? if (lfsr_t_ismkconsistent(t->o.o.flags) - && !lfsr_f_isdirty(t->o.o.flags)) { - lfs->flags &= ~LFS_F_ORPHANS; + && !lfsr_t_isdirty(t->o.o.flags)) { + lfs->flags &= ~LFS_I_ORPHANS; } // was compaction successful? note we may need multiple passes if // we want to be sure everything is compacted if (lfsr_t_iscompact(t->o.o.flags) - && !lfsr_f_isdirty(t->o.o.flags) - && !lfsr_f_ismutated(t->o.o.flags)) { - lfs->flags &= ~LFS_F_UNCOMPACTED; + && !lfsr_t_isdirty(t->o.o.flags) + && !lfsr_t_ismutated(t->o.o.flags)) { + lfs->flags &= ~LFS_I_UNCOMPACTED; } return LFS_ERR_NOENT; @@ -9882,16 +9882,16 @@ int lfsr_mkdir(lfs_t *lfs, const char *path) { for (lfsr_omdir_t *o = lfs->omdirs; o; o = o->next) { // mark any clobbered orphans as zombied if (exists - && lfsr_f_type(o->flags) == LFS_TYPE_REG + && lfsr_o_type(o->flags) == LFS_TYPE_REG && o->mdir.mid == mdir.mid) { - o->flags = (o->flags & ~LFS_F_ORPHAN) - | LFS_F_ZOMBIE - | LFS_F_UNSYNC + o->flags = (o->flags & ~LFS_O_ORPHAN) + | LFS_O_ZOMBIE + | LFS_O_UNSYNC | LFS_O_DESYNC; // update dir positions } else if (!exists - && lfsr_f_type(o->flags) == LFS_TYPE_DIR + && lfsr_o_type(o->flags) == LFS_TYPE_DIR && ((lfsr_dir_t*)o)->did == did && o->mdir.mid >= mdir.mid) { ((lfsr_dir_t*)o)->pos += 1; @@ -10026,33 +10026,33 @@ int lfsr_remove(lfs_t *lfs, const char *path) { for (lfsr_omdir_t *o = lfs->omdirs; o; o = o->next) { // mark any clobbered orphans as zombied orphans if (zombie - && lfsr_f_type(o->flags) == LFS_TYPE_REG + && lfsr_o_type(o->flags) == LFS_TYPE_REG && o->mdir.mid == mdir.mid) { - o->flags |= LFS_F_ORPHAN - | LFS_F_ZOMBIE - | LFS_F_UNSYNC + o->flags |= LFS_O_ORPHAN + | LFS_O_ZOMBIE + | LFS_O_UNSYNC | LFS_O_DESYNC; // mark any removed dirs as zombied } else if (did_ - && lfsr_f_type(o->flags) == LFS_TYPE_DIR + && lfsr_o_type(o->flags) == LFS_TYPE_DIR && ((lfsr_dir_t*)o)->did == did_) { - o->flags |= LFS_F_ZOMBIE; + o->flags |= LFS_O_ZOMBIE; // update dir positions - } else if (lfsr_f_type(o->flags) == LFS_TYPE_DIR + } else if (lfsr_o_type(o->flags) == LFS_TYPE_DIR && ((lfsr_dir_t*)o)->did == did && o->mdir.mid >= mdir.mid) { - if (lfsr_f_iszombie(o->flags)) { - o->flags &= ~LFS_F_ZOMBIE; + if (lfsr_o_iszombie(o->flags)) { + o->flags &= ~LFS_O_ZOMBIE; } else { ((lfsr_dir_t*)o)->pos -= 1; } // clobber entangled traversals - } else if (lfsr_f_type(o->flags) == LFS_TYPE_TRAVERSAL) { - if (lfsr_f_iszombie(o->flags)) { - o->flags &= ~LFS_F_ZOMBIE; + } else if (lfsr_o_type(o->flags) == LFS_TYPE_TRAVERSAL) { + if (lfsr_o_iszombie(o->flags)) { + o->flags &= ~LFS_O_ZOMBIE; o->mdir.mid -= 1; lfsr_traversal_clobber(lfs, (lfsr_traversal_t*)o); } @@ -10176,26 +10176,26 @@ int lfsr_rename(lfs_t *lfs, const char *old_path, const char *new_path) { for (lfsr_omdir_t *o = lfs->omdirs; o; o = o->next) { // mark any clobbered orphans as zombied if (exists - && lfsr_f_type(o->flags) == LFS_TYPE_REG + && lfsr_o_type(o->flags) == LFS_TYPE_REG && o->mdir.mid == new_mdir.mid) { - o->flags = (o->flags & ~LFS_F_ORPHAN) - | LFS_F_ZOMBIE - | LFS_F_UNSYNC + o->flags = (o->flags & ~LFS_O_ORPHAN) + | LFS_O_ZOMBIE + | LFS_O_UNSYNC | LFS_O_DESYNC; // update moved files with the new mdir - } else if (lfsr_f_type(o->flags) == LFS_TYPE_REG + } else if (lfsr_o_type(o->flags) == LFS_TYPE_REG && o->mdir.mid == lfs->grm.mids[0]) { o->mdir = new_mdir; // mark any removed dirs as zombied } else if (new_did_ - && lfsr_f_type(o->flags) == LFS_TYPE_DIR + && lfsr_o_type(o->flags) == LFS_TYPE_DIR && ((lfsr_dir_t*)o)->did == new_did_) { - o->flags |= LFS_F_ZOMBIE; + o->flags |= LFS_O_ZOMBIE; // update dir positions - } else if (lfsr_f_type(o->flags) == LFS_TYPE_DIR) { + } else if (lfsr_o_type(o->flags) == LFS_TYPE_DIR) { if (!exists && ((lfsr_dir_t*)o)->did == new_did && o->mdir.mid >= new_mdir.mid) { @@ -10212,7 +10212,7 @@ int lfsr_rename(lfs_t *lfs, const char *old_path, const char *new_path) { } // clobber entangled traversals - } else if (lfsr_f_type(o->flags) == LFS_TYPE_TRAVERSAL + } else if (lfsr_o_type(o->flags) == LFS_TYPE_TRAVERSAL && ((exists && o->mdir.mid == new_mdir.mid) || o->mdir.mid == lfs->grm.mids[0])) { lfsr_traversal_clobber(lfs, (lfsr_traversal_t*)o); @@ -10319,7 +10319,7 @@ int lfsr_dir_open(lfs_t *lfs, lfsr_dir_t *dir, const char *path) { LFS_ASSERT(!lfsr_omdir_isopen(lfs, &dir->o)); // setup dir state - dir->o.flags = lfsr_f_settype(0, LFS_TYPE_DIR); + dir->o.flags = lfsr_o_settype(0, LFS_TYPE_DIR); // lookup our directory lfsr_mdir_t mdir; @@ -10382,7 +10382,7 @@ int lfsr_dir_read(lfs_t *lfs, lfsr_dir_t *dir, struct lfs_info *info) { LFS_ASSERT(lfsr_omdir_isopen(lfs, &dir->o)); // was our dir removed? - if (lfsr_f_iszombie(dir->o.flags)) { + if (lfsr_o_iszombie(dir->o.flags)) { return LFS_ERR_NOENT; } @@ -10459,7 +10459,7 @@ int lfsr_dir_seek(lfs_t *lfs, lfsr_dir_t *dir, lfs_soff_t off) { LFS_ASSERT(lfsr_omdir_isopen(lfs, &dir->o)); // do nothing if removed - if (lfsr_f_iszombie(dir->o.flags)) { + if (lfsr_o_iszombie(dir->o.flags)) { return 0; } @@ -10509,7 +10509,7 @@ lfs_soff_t lfsr_dir_tell(lfs_t *lfs, lfsr_dir_t *dir) { static int lfsr_dir_rewind_(lfs_t *lfs, lfsr_dir_t *dir) { // do nothing if removed - if (lfsr_f_iszombie(dir->o.flags)) { + if (lfsr_o_iszombie(dir->o.flags)) { return 0; } @@ -10606,7 +10606,7 @@ int lfsr_file_opencfg(lfs_t *lfs, lfsr_file_t *file, } // setup file state - file->o.o.flags = lfsr_f_settype(flags, LFS_TYPE_REG) + file->o.o.flags = lfsr_o_settype(flags, LFS_TYPE_REG) // mounted with LFS_M_FLUSH/SYNC? implies LFS_O_FLUSH/SYNC | (lfs->flags & (LFS_M_FLUSH | LFS_M_SYNC)); file->cfg = cfg; @@ -10655,7 +10655,7 @@ int lfsr_file_opencfg(lfs_t *lfs, lfsr_file_t *file, // update dir positions for (lfsr_omdir_t *o = lfs->omdirs; o; o = o->next) { - if (lfsr_f_type(o->flags) == LFS_TYPE_DIR + if (lfsr_o_type(o->flags) == LFS_TYPE_DIR && ((lfsr_dir_t*)o)->did == did && o->mdir.mid >= file->o.o.mdir.mid) { ((lfsr_dir_t*)o)->pos += 1; @@ -10665,7 +10665,7 @@ int lfsr_file_opencfg(lfs_t *lfs, lfsr_file_t *file, // mark as unsynced and orphaned, we need to convert to reg file // on first sync - file->o.o.flags |= LFS_F_UNSYNC | LFS_F_ORPHAN; + file->o.o.flags |= LFS_O_UNSYNC | LFS_O_ORPHAN; } else { if (lfsr_o_isexcl(flags)) { @@ -10746,7 +10746,7 @@ int lfsr_file_opencfg(lfs_t *lfs, lfsr_file_t *file, } // small files remain perpetually unflushed - file->o.o.flags |= LFS_F_UNFLUSH; + file->o.o.flags |= LFS_O_UNFLUSH; file->buffer.pos = 0; file->buffer.size = lfsr_bshrub_size(&file->o.bshrub); file->o.bshrub = LFSR_BSHRUB_BNULL(); @@ -10805,7 +10805,7 @@ int lfsr_file_close(lfs_t *lfs, lfsr_file_t *file) { // are we orphaning a file? // // make sure we check _after_ removing ourselves - if (lfsr_f_isorphan(file->o.o.flags) + if (lfsr_o_isorphan(file->o.o.flags) && !lfsr_omdir_ismidopen(lfs, file->o.o.mdir.mid)) { // this gets a bit messy, since we're not able to write to the // filesystem if we're rdonly or desynced, fortunately we have @@ -10817,7 +10817,7 @@ int lfsr_file_close(lfs_t *lfs, lfsr_file_t *file) { // fallback to just marking the filesystem as orphaned } else { - lfs->flags |= LFS_F_ORPHANS; + lfs->flags |= LFS_I_ORPHANS; } } @@ -10952,7 +10952,7 @@ lfs_ssize_t lfsr_file_read(lfs_t *lfs, lfsr_file_t *file, // note that flush does not change the actual file data, so if // a read fails it's ok to fall back to our flushed state // - if (lfsr_f_isunflush(file->o.o.flags)) { + if (lfsr_o_isunflush(file->o.o.flags)) { int err = lfsr_file_flush(lfs, file); if (err) { return err; @@ -11817,7 +11817,7 @@ lfs_ssize_t lfsr_file_write(lfs_t *lfs, lfsr_file_t *file, // checkpoint the allocator lfs_alloc_ckpoint(lfs); // mark as unsynced in case we fail - file->o.o.flags |= LFS_F_UNSYNC; + file->o.o.flags |= LFS_O_UNSYNC; // update pos if we are appending lfs_off_t pos = file->pos; @@ -11828,7 +11828,7 @@ lfs_ssize_t lfsr_file_write(lfs_t *lfs, lfsr_file_t *file, // if we're a small file, we may need to append zeros if (pos > lfsr_file_size_(file) && pos <= lfsr_file_inlinesize(lfs, file)) { - LFS_ASSERT(lfsr_f_isunflush(file->o.o.flags)); + LFS_ASSERT(lfsr_o_isunflush(file->o.o.flags)); LFS_ASSERT(lfsr_file_size_(file) == file->buffer.size); lfs_memset(&file->buffer.buffer[file->buffer.size], 0, @@ -11846,7 +11846,7 @@ lfs_ssize_t lfsr_file_write(lfs_t *lfs, lfsr_file_t *file, // strictly necessary, but enforces a more intuitive write order // and avoids weird cases with low-level write heuristics // - if ((!lfsr_f_isunflush(file->o.o.flags) + if ((!lfsr_o_isunflush(file->o.o.flags) || file->buffer.size == 0) && size >= lfsr_file_buffersize(lfs, file)) { err = lfsr_file_flush_(lfs, file, @@ -11865,7 +11865,7 @@ lfs_ssize_t lfsr_file_write(lfs_t *lfs, lfsr_file_t *file, lfsr_file_buffersize(lfs, file)); file->buffer.size = lfsr_file_buffersize(lfs, file); - file->o.o.flags &= ~LFS_F_UNFLUSH; + file->o.o.flags &= ~LFS_O_UNFLUSH; written += size; pos += size; buffer_ += size; @@ -11883,7 +11883,7 @@ lfs_ssize_t lfsr_file_write(lfs_t *lfs, lfsr_file_t *file, // 2. Bypassing the buffer above means we only write to the // buffer once, and flush at most twice. // - if ((!lfsr_f_isunflush(file->o.o.flags) + if ((!lfsr_o_isunflush(file->o.o.flags) || file->buffer.size == 0) || (pos >= file->buffer.pos && pos <= file->buffer.pos + file->buffer.size @@ -11891,7 +11891,7 @@ lfs_ssize_t lfsr_file_write(lfs_t *lfs, lfsr_file_t *file, < file->buffer.pos + lfsr_file_buffersize(lfs, file))) { // unused buffer? we can move it where we need it - if ((!lfsr_f_isunflush(file->o.o.flags) + if ((!lfsr_o_isunflush(file->o.o.flags) || file->buffer.size == 0)) { file->buffer.pos = pos; file->buffer.size = 0; @@ -11908,7 +11908,7 @@ lfs_ssize_t lfsr_file_write(lfs_t *lfs, lfsr_file_t *file, file->buffer.size, pos+d - file->buffer.pos); - file->o.o.flags |= LFS_F_UNFLUSH; + file->o.o.flags |= LFS_O_UNFLUSH; written += d; pos += d; buffer_ += d; @@ -11922,7 +11922,7 @@ lfs_ssize_t lfsr_file_write(lfs_t *lfs, lfsr_file_t *file, if (err) { goto failed; } - file->o.o.flags &= ~LFS_F_UNFLUSH; + file->o.o.flags &= ~LFS_O_UNFLUSH; } // update our pos @@ -11959,11 +11959,11 @@ int lfsr_file_flush(lfs_t *lfs, lfsr_file_t *file) { LFS_ASSERT(lfsr_omdir_isopen(lfs, &file->o.o)); // readonly files should do nothing LFS_ASSERT(!lfsr_o_isrdonly(file->o.o.flags) - || !lfsr_f_isunflush(file->o.o.flags) + || !lfsr_o_isunflush(file->o.o.flags) || lfsr_file_size_(file) <= lfsr_file_inlinesize(lfs, file)); // do nothing if our file is already flushed - if (!lfsr_f_isunflush(file->o.o.flags)) { + if (!lfsr_o_isunflush(file->o.o.flags)) { return 0; } @@ -11983,7 +11983,7 @@ int lfsr_file_flush(lfs_t *lfs, lfsr_file_t *file) { // flush our buffer if it contains any unwritten data int err; - if (lfsr_f_isunflush(file->o.o.flags) + if (lfsr_o_isunflush(file->o.o.flags) && file->buffer.size != 0) { // flush err = lfsr_file_flush_(lfs, file, @@ -11994,7 +11994,7 @@ int lfsr_file_flush(lfs_t *lfs, lfsr_file_t *file) { } // mark as flushed - file->o.o.flags &= ~LFS_F_UNFLUSH; + file->o.o.flags &= ~LFS_O_UNFLUSH; return 0; failed:; @@ -12006,7 +12006,7 @@ failed:; int lfsr_file_sync(lfs_t *lfs, lfsr_file_t *file) { LFS_ASSERT(lfsr_omdir_isopen(lfs, &file->o.o)); // removed? we can't sync - if (lfsr_f_iszombie(file->o.o.flags)) { + if (lfsr_o_iszombie(file->o.o.flags)) { return LFS_ERR_NOENT; } @@ -12030,20 +12030,20 @@ int lfsr_file_sync(lfs_t *lfs, lfsr_file_t *file) { LFS_ASSERT(!lfsr_bshrub_isbsprout(&file->o.o.mdir, &file->o.bshrub)); LFS_ASSERT(!lfsr_bshrub_isbptr(&file->o.o.mdir, &file->o.bshrub)); // small files should start as zero, const prop should optimize this out - LFS_ASSERT(!lfsr_f_isunflush(file->o.o.flags) + LFS_ASSERT(!lfsr_o_isunflush(file->o.o.flags) || file->buffer.pos == 0); // small files/btree should be exclusive here - LFS_ASSERT(!lfsr_f_isunflush(file->o.o.flags) + LFS_ASSERT(!lfsr_o_isunflush(file->o.o.flags) || lfsr_bshrub_size(&file->o.bshrub) == 0); // small files must be inlined entirely in our buffer - LFS_ASSERT(!lfsr_f_isunflush(file->o.o.flags) + LFS_ASSERT(!lfsr_o_isunflush(file->o.o.flags) || file->buffer.size <= lfsr_file_inlinesize(lfs, file)); // orphaned files must be unsynced - LFS_ASSERT(!lfsr_f_isorphan(file->o.o.flags) - || lfsr_f_isunsync(file->o.o.flags)); + LFS_ASSERT(!lfsr_o_isorphan(file->o.o.flags) + || lfsr_o_isunsync(file->o.o.flags)); // don't write to disk if our disk is already in-sync - if (lfsr_f_isunsync(file->o.o.flags)) { + if (lfsr_o_isunsync(file->o.o.flags)) { // readonly files should do nothing // // but readonly files _can_ end up unsynced, in the roundabout @@ -12066,7 +12066,7 @@ int lfsr_file_sync(lfs_t *lfs, lfsr_file_t *file) { uint8_t buf[LFSR_BTREE_DSIZE]; // not created yet? need to convert orphan to normal file - if (lfsr_f_isorphan(file->o.o.flags)) { + if (lfsr_o_isorphan(file->o.o.flags)) { err = lfsr_mdir_lookup(lfs, &file->o.o.mdir, LFSR_TAG_ORPHAN, &name_data); if (err) { @@ -12083,12 +12083,12 @@ int lfsr_file_sync(lfs_t *lfs, lfsr_file_t *file) { // commit the file state // null? no attr? - if (lfsr_f_isunflush(file->o.o.flags) && file->buffer.size == 0) { + if (lfsr_o_isunflush(file->o.o.flags) && file->buffer.size == 0) { attrs[attr_count++] = LFSR_ATTR( LFSR_TAG_RM | LFSR_TAG_SUB | LFSR_TAG_STRUCT, 0, LFSR_DATA_NULL()); // small file inlined in mdir? - } else if (lfsr_f_isunflush(file->o.o.flags)) { + } else if (lfsr_o_isunflush(file->o.o.flags)) { attrs[attr_count++] = LFSR_ATTR_CAT_( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, (const lfsr_data_t*)&file->buffer, 1); @@ -12126,25 +12126,25 @@ int lfsr_file_sync(lfs_t *lfs, lfsr_file_t *file) { // update in-device state for (lfsr_omdir_t *o = lfs->omdirs; o; o = o->next) { - if (lfsr_f_type(o->flags) == LFS_TYPE_REG + if (lfsr_o_type(o->flags) == LFS_TYPE_REG && o->mdir.mid == file->o.o.mdir.mid // don't double update && o != &file->o.o) { lfsr_file_t *file_ = (lfsr_file_t*)o; // notify all files of creation - file_->o.o.flags &= ~LFS_F_ORPHAN; + file_->o.o.flags &= ~LFS_O_ORPHAN; // mark desynced files an unsynced if (lfsr_o_isdesync(file_->o.o.flags)) { - file_->o.o.flags |= LFS_F_UNSYNC; + file_->o.o.flags |= LFS_O_UNSYNC; // update synced files } else { - file_->o.o.flags &= ~LFS_F_UNSYNC; - if (lfsr_f_isunflush(file->o.o.flags)) { - file_->o.o.flags |= LFS_F_UNFLUSH; + file_->o.o.flags &= ~LFS_O_UNSYNC; + if (lfsr_o_isunflush(file->o.o.flags)) { + file_->o.o.flags |= LFS_O_UNFLUSH; } else { - file_->o.o.flags &= ~LFS_F_UNFLUSH; + file_->o.o.flags &= ~LFS_O_UNFLUSH; } file_->o.bshrub = file->o.bshrub; file_->buffer.pos = file->buffer.pos; @@ -12157,14 +12157,14 @@ int lfsr_file_sync(lfs_t *lfs, lfsr_file_t *file) { } // clobber entangled traversals - } else if (lfsr_f_type(o->flags) == LFS_TYPE_TRAVERSAL + } else if (lfsr_o_type(o->flags) == LFS_TYPE_TRAVERSAL && o->mdir.mid == file->o.o.mdir.mid) { lfsr_traversal_clobber(lfs, (lfsr_traversal_t*)o); } } // mark as synced - file->o.o.flags &= ~(LFS_F_UNSYNC | LFS_F_ORPHAN | LFS_O_DESYNC); + file->o.o.flags &= ~(LFS_O_UNSYNC | LFS_O_ORPHAN | LFS_O_DESYNC); return 0; failed:; @@ -12253,7 +12253,7 @@ int lfsr_file_truncate(lfs_t *lfs, lfsr_file_t *file, lfs_off_t size_) { // checkpoint the allocator lfs_alloc_ckpoint(lfs); // mark as unsynced in case we fail - file->o.o.flags |= LFS_F_UNSYNC; + file->o.o.flags |= LFS_O_UNSYNC; // does our file become small? int err; @@ -12289,7 +12289,7 @@ int lfsr_file_truncate(lfs_t *lfs, lfsr_file_t *file, lfs_off_t size_) { } // small files remain perpetually unflushed - file->o.o.flags |= LFS_F_UNFLUSH; + file->o.o.flags |= LFS_O_UNFLUSH; file->buffer.pos = 0; file->buffer.size = size_; file->o.bshrub = LFSR_BSHRUB_BNULL(); @@ -12361,7 +12361,7 @@ int lfsr_file_fruncate(lfs_t *lfs, lfsr_file_t *file, lfs_off_t size_) { // checkpoint the allocator lfs_alloc_ckpoint(lfs); // mark as unsynced in case we fail - file->o.o.flags |= LFS_F_UNSYNC; + file->o.o.flags |= LFS_O_UNSYNC; // does our file become small? int err; @@ -12410,7 +12410,7 @@ int lfsr_file_fruncate(lfs_t *lfs, lfsr_file_t *file, lfs_off_t size_) { } // small files remain perpetually unflushed - file->o.o.flags |= LFS_F_UNFLUSH; + file->o.o.flags |= LFS_O_UNFLUSH; file->buffer.pos = 0; file->buffer.size = size_; file->o.bshrub = LFSR_BSHRUB_BNULL(); @@ -12603,7 +12603,7 @@ static int lfs_init(lfs_t *lfs, uint32_t flags, lfs->flags = flags // default to assuming we need compaction somewhere, worst case // this just makes lfsr_fs_gc read more than is strictly needed - | LFS_F_UNCOMPACTED; + | LFS_I_UNCOMPACTED; // copy block_count so we can mutate it lfs->block_count = lfs->cfg->block_count; @@ -13275,7 +13275,7 @@ static int lfsr_mountinited(lfs_t *lfs) { "%"PRId32".%"PRId32, lfsr_mid_bid(lfs, mdir->mid) >> lfs->mdir_bits, rid); - lfs->flags |= LFS_F_ORPHANS; + lfs->flags |= LFS_I_ORPHANS; // found an unknown file type? } else if (lfsr_tag_isunknown(tag)) { @@ -13502,13 +13502,17 @@ static int lfsr_formatinited(lfs_t *lfs) { return 0; } -int lfsr_format(lfs_t *lfs, const struct lfs_config *cfg) { - // TODO hmmm, should lfsr_format take flags? - int err = lfs_init(lfs, - LFS_M_RDWR - | LFS_M_CKPROGS - | LFS_IFDEF_CKREADS(LFS_M_CKREADS, 0), - cfg); +int lfsr_format(lfs_t *lfs, uint32_t flags, + const struct lfs_config *cfg) { + // unknown flags? + LFS_ASSERT((flags & ~( + LFS_F_RDWR + | LFS_F_CKPROGS + | LFS_IFDEF_CKREADS(LFS_F_CKREADS, 0))) == 0); + // some flags don't make sense when only traversing the mtree + LFS_ASSERT(!lfsr_t_ismtreeonly(flags) || !lfsr_t_isckdata(flags)); + + int err = lfs_init(lfs, flags, cfg); if (err) { return err; } @@ -13722,7 +13726,7 @@ int lfsr_fs_mkconsistent(lfs_t *lfs) { // this must happen after fixgrm, since removing orphaned files risks // outdating the grm // - if (lfsr_f_hasorphans(lfs->flags)) { + if (lfsr_i_hasorphans(lfs->flags)) { LFS_DEBUG("Fixing orphans..."); int err = lfsr_fs_fixorphans(lfs); @@ -13802,8 +13806,8 @@ int lfsr_fs_gc(lfs_t *lfs, lfs_soff_t steps, uint32_t flags) { // do we have any pending work? uint32_t pending = flags & ( ((lfs->flags & ( - LFS_F_ORPHANS - | LFS_F_UNCOMPACTED)) >> 16) + LFS_I_ORPHANS + | LFS_I_UNCOMPACTED)) >> 16) | ((lfsr_fs_canlookahead(lfs)) ? LFS_GC_LOOKAHEAD : 0) | LFS_GC_CKMETA | LFS_GC_CKDATA); @@ -13829,8 +13833,8 @@ int lfsr_fs_gc(lfs_t *lfs, lfs_soff_t steps, uint32_t flags) { | LFS_GC_CKDATA)); // don't bother with lookahead if we've mutated - if (lfsr_f_isdirty(lfs->gc.o.o.flags) - || lfsr_f_ismutated(lfs->gc.o.o.flags)) { + if (lfsr_t_isdirty(lfs->gc.o.o.flags) + || lfsr_t_ismutated(lfs->gc.o.o.flags)) { lfs->gc.o.o.flags &= ~LFS_GC_LOOKAHEAD; } @@ -13867,13 +13871,13 @@ int lfsr_fs_gc(lfs_t *lfs, lfs_soff_t steps, uint32_t flags) { // clear any pending flags we make progress on pending &= ( ((lfs->flags & ( - LFS_F_ORPHANS - | LFS_F_UNCOMPACTED)) >> 16) + LFS_I_ORPHANS + | LFS_I_UNCOMPACTED)) >> 16) | ((lfsr_fs_canlookahead(lfs)) ? LFS_GC_LOOKAHEAD : 0) // only consider our filesystem checked if we // weren't mutated - | ((lfsr_f_isdirty(lfs->gc.o.o.flags) - || lfsr_f_ismutated(lfs->gc.o.o.flags)) + | ((lfsr_t_isdirty(lfs->gc.o.o.flags) + || lfsr_t_ismutated(lfs->gc.o.o.flags)) ? LFS_GC_CKMETA | LFS_GC_CKDATA : 0)); } @@ -13971,7 +13975,7 @@ int lfsr_traversal_open(lfs_t *lfs, lfsr_traversal_t *t, uint32_t flags) { LFS_ASSERT(!lfsr_t_ismtreeonly(flags) || !lfsr_t_isckdata(flags)); // setup traversal state - t->o.o.flags = lfsr_f_settype(flags, LFS_TYPE_TRAVERSAL); + t->o.o.flags = lfsr_o_settype(flags, LFS_TYPE_TRAVERSAL); // let rewind initialize/reset things int err = lfsr_traversal_rewind_(lfs, t); @@ -14013,15 +14017,15 @@ int lfsr_traversal_read(lfs_t *lfs, lfsr_traversal_t *t, } // swap dirty/mutated flags while mutating - t->o.o.flags = lfsr_f_swapdirty(t->o.o.flags); + t->o.o.flags = lfsr_t_swapdirty(t->o.o.flags); int err = lfsr_fs_fixgrm(lfs); if (err) { - t->o.o.flags = lfsr_f_swapdirty(t->o.o.flags); + t->o.o.flags = lfsr_t_swapdirty(t->o.o.flags); return err; } - t->o.o.flags = lfsr_f_swapdirty(t->o.o.flags); + t->o.o.flags = lfsr_t_swapdirty(t->o.o.flags); } // checkpoint the allocator to maximize any lookahead scans @@ -14031,7 +14035,7 @@ int lfsr_traversal_read(lfs_t *lfs, lfsr_traversal_t *t, // some redund blocks left over? if (t->blocks[0] != -1) { // write our traversal info - tinfo->btype = lfsr_f_btype(t->o.o.flags); + tinfo->btype = lfsr_t_btype(t->o.o.flags); tinfo->block = t->blocks[0]; t->blocks[0] = t->blocks[1]; @@ -14051,18 +14055,18 @@ int lfsr_traversal_read(lfs_t *lfs, lfsr_traversal_t *t, // figure out type/blocks if (tag == LFSR_TAG_MDIR) { lfsr_mdir_t *mdir = (lfsr_mdir_t*)bptr.data.u.buffer; - t->o.o.flags = lfsr_f_setbtype(t->o.o.flags, LFS_BTYPE_MDIR); + t->o.o.flags = lfsr_t_setbtype(t->o.o.flags, LFS_BTYPE_MDIR); t->blocks[0] = mdir->rbyd.blocks[0]; t->blocks[1] = mdir->rbyd.blocks[1]; } else if (tag == LFSR_TAG_BRANCH) { - t->o.o.flags = lfsr_f_setbtype(t->o.o.flags, LFS_BTYPE_BTREE); + t->o.o.flags = lfsr_t_setbtype(t->o.o.flags, LFS_BTYPE_BTREE); lfsr_rbyd_t *rbyd = (lfsr_rbyd_t*)bptr.data.u.buffer; t->blocks[0] = rbyd->blocks[0]; t->blocks[1] = -1; } else if (tag == LFSR_TAG_BLOCK) { - t->o.o.flags = lfsr_f_setbtype(t->o.o.flags, LFS_BTYPE_DATA); + t->o.o.flags = lfsr_t_setbtype(t->o.o.flags, LFS_BTYPE_DATA); t->blocks[0] = bptr.data.u.disk.block; t->blocks[1] = -1; @@ -14075,23 +14079,23 @@ int lfsr_traversal_read(lfs_t *lfs, lfsr_traversal_t *t, static void lfsr_traversal_clobber(lfs_t *lfs, lfsr_traversal_t *t) { (void)lfs; // mroot/mtree? transition to mdir iteration - if (lfsr_f_tstate(t->o.o.flags) < LFSR_TSTATE_MDIRS) { - t->o.o.flags = lfsr_f_settstate(t->o.o.flags, LFSR_TSTATE_MDIRS); + if (lfsr_t_tstate(t->o.o.flags) < LFSR_TSTATE_MDIRS) { + t->o.o.flags = lfsr_t_settstate(t->o.o.flags, LFSR_TSTATE_MDIRS); t->o.o.mdir.mid = 0; t->o.bshrub.u.bshrub.weight = 0; t->o.bshrub.u.bshrub.blocks[0] = -1; t->ot = NULL; // in-mtree mdir? increment the mid (to make progress) and reset to // mdir iteration - } else if (lfsr_f_tstate(t->o.o.flags) < LFSR_TSTATE_OMDIRS) { - t->o.o.flags = lfsr_f_settstate(t->o.o.flags, LFSR_TSTATE_MDIR); + } else if (lfsr_t_tstate(t->o.o.flags) < LFSR_TSTATE_OMDIRS) { + t->o.o.flags = lfsr_t_settstate(t->o.o.flags, LFSR_TSTATE_MDIR); t->o.o.mdir.mid += 1; t->o.bshrub.u.bshrub.weight = 0; t->o.bshrub.u.bshrub.blocks[0] = -1; t->ot = NULL; // opened mdir? skip to next omdir - } else if (lfsr_f_tstate(t->o.o.flags) < LFSR_TSTATE_DONE) { - t->o.o.flags = lfsr_f_settstate(t->o.o.flags, LFSR_TSTATE_OMDIRS); + } else if (lfsr_t_tstate(t->o.o.flags) < LFSR_TSTATE_DONE) { + t->o.o.flags = lfsr_t_settstate(t->o.o.flags, LFSR_TSTATE_OMDIRS); t->o.bshrub.u.bshrub.weight = 0; t->o.bshrub.u.bshrub.blocks[0] = -1; t->ot = (t->ot) ? t->ot->next : NULL; @@ -14108,8 +14112,8 @@ static void lfsr_traversal_clobber(lfs_t *lfs, lfsr_traversal_t *t) { static int lfsr_traversal_rewind_(lfs_t *lfs, lfsr_traversal_t *t) { (void)lfs; // reset traversal - t->o.o.flags = lfsr_f_settstate( - t->o.o.flags & ~(LFS_F_DIRTY | LFS_F_MUTATED), + t->o.o.flags = lfsr_t_settstate( + t->o.o.flags & ~(LFS_T_DIRTY | LFS_T_MUTATED), LFSR_TSTATE_MROOTANCHOR); t->o.o.mdir.mid = -1; t->o.o.mdir.rbyd.weight = 0; diff --git a/lfs.h b/lfs.h index 43679a24..61984451 100644 --- a/lfs.h +++ b/lfs.h @@ -119,7 +119,7 @@ enum lfs_type { LFS_TYPE_REG = 1, LFS_TYPE_DIR = 2, - // internally used types + // internally used types, don't use these LFS_TYPE_BOOKMARK = 4, LFS_TYPE_ORPHAN = 5, LFS_TYPE_TRAVERSAL = 9, @@ -139,18 +139,25 @@ enum lfs_type { #define LFS_O_CKMETA 0x00001000 // Check metadata checksums #define LFS_O_CKDATA 0x00002000 // Check metadata + data checksums -// internally used flags -#define LFS_F_TYPE 0xff000000 // The file's type -#define LFS_F_UNFLUSH 0x00100000 // File's data does not match disk -#define LFS_F_UNSYNC 0x00200000 // File's metadata does not match disk -#define LFS_F_ORPHAN 0x00400000 // File does not exist -#define LFS_F_ZOMBIE 0x00800000 // File has been removed +// internally used flags, don't use these +#define LFS_O_TYPE 0xff000000 // The file's type +#define LFS_O_UNFLUSH 0x00100000 // File's data does not match disk +#define LFS_O_UNSYNC 0x00200000 // File's metadata does not match disk +#define LFS_O_ORPHAN 0x00400000 // File does not exist +#define LFS_O_ZOMBIE 0x00800000 // File has been removed // File seek flags #define LFS_SEEK_SET 0 // Seek relative to an absolute position #define LFS_SEEK_CUR 1 // Seek relative to the current file position #define LFS_SEEK_END 2 // Seek relative to the end of the file +// Filesystem format flags +#define LFS_F_RDWR 0 // Format the filesystem as read and write +#define LFS_F_CKPROGS 0x00000010 // Check progs by reading back progged data +#ifdef LFS_CKREADS +#define LFS_F_CKREADS 0x00000020 // Check reads via parity bits/checksums +#endif + // Filesystem mount flags #define LFS_M_RDWR 0 // Mount the filesystem as read and write #define LFS_M_RDONLY 1 // Mount the filesystem as read only @@ -161,21 +168,14 @@ enum lfs_type { #define LFS_M_FLUSH 0x00000040 // Open all files with LFS_O_FLUSH #define LFS_M_SYNC 0x00000080 // Open all files with LFS_O_SYNC -#define LFS_M_MTREEONLY \ - 0x00010000 // Only traverse the mtree +#define LFS_M_MTREEONLY 0x00010000 // Only traverse the mtree #define LFS_M_MKCONSISTENT \ 0x00000100 // Make the filesystem consistent -#define LFS_M_LOOKAHEAD \ - 0x00000200 // Populate lookahead buffer +#define LFS_M_LOOKAHEAD 0x00000200 // Populate lookahead buffer #define LFS_M_COMPACT 0x00000800 // Compact metadata logs #define LFS_M_CKMETA 0x00001000 // Check metadata checksums #define LFS_M_CKDATA 0x00002000 // Check metadata + data checksums -// internally used flags -#define LFS_F_ORPHANS 0x01000000 // Filesystem may have untracked orphans -#define LFS_F_UNCOMPACTED \ - 0x08000000 // Filesystem may have uncompacted metadata - // Filesystem info flags #define LFS_I_RDONLY 0x00000001 // Filesystem mounted read only #define LFS_I_CKPROGS 0x00000010 // Filesystem mounted with LFS_M_CKPROGS @@ -192,6 +192,10 @@ enum lfs_type { #define LFS_I_UNCOMPACTED \ 0x08000000 // Filesystem may have uncompacted metadata +// internally used flags, don't use these +#define LFS_I_ORPHANS 0x01000000 // Filesystem may have untracked orphans + + // Block types enum lfs_btype { LFS_BTYPE_MDIR = 1, @@ -200,21 +204,19 @@ enum lfs_btype { }; // Traversal flags -#define LFS_T_MTREEONLY \ - 0x00010000 // Only traverse the mtree +#define LFS_T_MTREEONLY 0x00010000 // Only traverse the mtree #define LFS_T_MKCONSISTENT \ 0x00000100 // Make the filesystem consistent -#define LFS_T_LOOKAHEAD \ - 0x00000200 // Populate lookahead buffer +#define LFS_T_LOOKAHEAD 0x00000200 // Populate lookahead buffer #define LFS_T_COMPACT 0x00000800 // Compact metadata logs #define LFS_T_CKMETA 0x00001000 // Check metadata checksums #define LFS_T_CKDATA 0x00002000 // Check metadata + data checksums -// internally used flags -#define LFS_F_TSTATE 0x0000000f // The current traversal state -#define LFS_F_BTYPE 0x000000f0 // The current traversal btype -#define LFS_F_DIRTY 0x00040000 // Filesystem modified during traversal -#define LFS_F_MUTATED 0x00080000 // Filesystem modified by traversal +// internally used flags, don't use these +#define LFS_T_TSTATE 0x0000000f // The current traversal state +#define LFS_T_BTYPE 0x000000f0 // The current traversal btype +#define LFS_T_DIRTY 0x00040000 // Filesystem modified during traversal +#define LFS_T_MUTATED 0x00080000 // Filesystem modified by traversal // GC flags #define LFS_GC_MTREEONLY \ @@ -810,7 +812,8 @@ typedef struct lfs { // // Returns a negative error code on failure. //int lfs_format(lfs_t *lfs, const struct lfs_config *config); -int lfsr_format(lfs_t *lfs, const struct lfs_config *cfg); +int lfsr_format(lfs_t *lfs, uint32_t flags, + const struct lfs_config *cfg); #endif // Mounts a littlefs diff --git a/tests/test_alloc.toml b/tests/test_alloc.toml index e7e7ebf4..4f6f8851 100644 --- a/tests/test_alloc.toml +++ b/tests/test_alloc.toml @@ -26,7 +26,7 @@ code = ''' struct lfs_config cfg = *CFG; cfg.block_count = COUNT; lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, LFS_F_RDWR, &cfg) => 0; lfsr_mount(&lfs, LFS_M_RDWR, &cfg) => 0; // start allocating @@ -70,7 +70,7 @@ code = ''' struct lfs_config cfg = *CFG; cfg.block_count = COUNT; lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, LFS_F_RDWR, &cfg) => 0; lfsr_mount(&lfs, LFS_M_RDWR, &cfg) => 0; // start allocating @@ -127,7 +127,7 @@ defines.REMOUNT = [false, true] in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many directories @@ -292,7 +292,7 @@ in = 'lfs.c' if = '(SIZE*N)/BLOCK_SIZE <= 32' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many files @@ -465,7 +465,7 @@ in = 'lfs.c' if = '(SIZE*N)/BLOCK_SIZE <= 32' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many files @@ -644,7 +644,7 @@ code = ''' struct lfs_config cfg = *CFG; cfg.block_count = COUNT; lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, LFS_F_RDWR, &cfg) => 0; lfsr_mount(&lfs, LFS_M_RDWR, &cfg) => 0; // create directories until we run out of space @@ -726,7 +726,7 @@ code = ''' struct lfs_config cfg = *CFG; cfg.block_count = COUNT; lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, LFS_F_RDWR, &cfg) => 0; lfsr_mount(&lfs, LFS_M_RDWR, &cfg) => 0; // create files until we run out of space diff --git a/tests/test_badblocks.toml b/tests/test_badblocks.toml index bdca735a..1e6d047c 100644 --- a/tests/test_badblocks.toml +++ b/tests/test_badblocks.toml @@ -154,7 +154,10 @@ code = ''' // test creating directories lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -267,7 +270,10 @@ code = ''' // test fuzz with dirs lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -455,7 +461,10 @@ code = ''' // test creating files lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -562,7 +571,10 @@ code = ''' // test fuzz with files lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -814,7 +826,10 @@ code = ''' // test with complex file writes lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -970,7 +985,10 @@ code = ''' // test with orphans, zombies, etc lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -1336,7 +1354,10 @@ code = ''' // test with orphans, zombies, dirs, etc lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -1890,7 +1911,10 @@ code = ''' // test creating directories lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -2004,7 +2028,10 @@ code = ''' // test fuzz with dirs lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -2193,7 +2220,10 @@ code = ''' // test creating files lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -2301,7 +2331,10 @@ code = ''' // test fuzz with files lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -2554,7 +2587,10 @@ code = ''' // test with complex file writes lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -2711,7 +2747,10 @@ code = ''' // test with orphans, zombies, etc lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -3078,7 +3117,10 @@ code = ''' // test with orphans, zombies, dirs, etc lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -3625,7 +3667,10 @@ code = ''' // test creating directories lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -3739,7 +3784,10 @@ code = ''' // test fuzz with dirs lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -3928,7 +3976,10 @@ code = ''' // test creating files lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -4036,7 +4087,10 @@ code = ''' // test fuzz with files lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -4289,7 +4343,10 @@ code = ''' // test with complex file writes lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -4444,7 +4501,10 @@ code = ''' // test with orphans, zombies, etc lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -4811,7 +4871,10 @@ code = ''' // test with orphans, zombies, dirs, etc lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -5235,7 +5298,7 @@ code = ''' } lfs_t lfs; - lfsr_format(&lfs, CFG) => LFS_ERR_CORRUPT; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => LFS_ERR_CORRUPT; ''' # test blocks 0 or 1 going bad, this should just error @@ -5252,7 +5315,10 @@ defines.BADBLOCK_BEHAVIOR = [ defines.CKPROGS = 'BADBLOCK_BEHAVIOR >= LFS_EMUBD_BADBLOCK_READERROR' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, + LFS_M_RDWR + | ((CKPROGS) ? LFS_M_CKPROGS : 0), + CFG) => 0; if (BADBLOCKS & 0x1) { lfs_emubd_markbad(CFG, 0) => 0; diff --git a/tests/test_ck.toml b/tests/test_ck.toml index 10d1e64f..cfdb628d 100644 --- a/tests/test_ck.toml +++ b/tests/test_ck.toml @@ -30,7 +30,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting filesystem @@ -158,7 +158,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting filesystem @@ -288,7 +288,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting file @@ -386,7 +386,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting file @@ -491,7 +491,7 @@ code = ''' // formatting the filesystem may already find the bit error lfs_t lfs; - int err = lfsr_format(&lfs, CFG); + int err = lfsr_format(&lfs, LFS_M_RDWR | LFS_M_CKPROGS, CFG); assert(!err || err == LFS_ERR_CORRUPT); if (err == LFS_ERR_CORRUPT) { goto corrupt; @@ -562,7 +562,7 @@ code = ''' // format lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR | LFS_F_CKPROGS, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | LFS_M_CKPROGS, CFG) => 0; // create a file @@ -606,7 +606,7 @@ code = ''' // format lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR | LFS_F_CKPROGS, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | LFS_M_CKPROGS, CFG) => 0; { @@ -671,7 +671,7 @@ code = ''' // format lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR | LFS_F_CKPROGS, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | LFS_M_CKPROGS, CFG) => 0; // create a file @@ -715,7 +715,7 @@ code = ''' // format lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR | LFS_F_CKPROGS, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | LFS_M_CKPROGS, CFG) => 0; { @@ -829,7 +829,7 @@ code = ''' // format lfs_t lfs; - int err = lfsr_format(&lfs, CFG); + int err = lfsr_format(&lfs, LFS_M_RDWR | LFS_M_CKREADS, CFG); assert(!err || err == LFS_ERR_CORRUPT); if (err == LFS_ERR_CORRUPT) { goto corrupt; @@ -925,7 +925,7 @@ code = ''' // format lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR | LFS_F_CKREADS, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | LFS_M_CKREADS, CFG) => 0; // create a file @@ -976,7 +976,7 @@ code = ''' // format lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR | LFS_F_CKREADS, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | LFS_M_CKREADS, CFG) => 0; { @@ -1059,7 +1059,7 @@ code = ''' // format lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR | LFS_F_CKREADS, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | LFS_M_CKREADS, CFG) => 0; // create a file @@ -1112,7 +1112,7 @@ code = ''' // format lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR | LFS_F_CKREADS, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | LFS_M_CKREADS, CFG) => 0; { diff --git a/tests/test_compat.toml b/tests/test_compat.toml index 77a3a4c4..29b78e3b 100644 --- a/tests/test_compat.toml +++ b/tests/test_compat.toml @@ -82,7 +82,7 @@ code = ''' assert(sizeof(struct lfsp_config) == sizeof(struct lfs_config)); memcpy(&cfgp, CFG, sizeof(cfgp)); lfsp_t lfsp; - lfsp_format(&lfsp, &cfgp) => 0; + lfsr_format(&lfsp, LFS_F_RDWR, &cfgp) => 0; // confirm the previous mount works lfsp_mount(&lfsp, LFSP_M_RDWR, &cfgp) => 0; @@ -109,7 +109,7 @@ code = ''' assert(sizeof(struct lfsp_config) == sizeof(struct lfs_config)); memcpy(&cfgp, CFG, sizeof(cfgp)); lfsp_t lfsp; - lfsp_format(&lfsp, &cfgp) => 0; + lfsr_format(&lfsp, LFS_F_RDWR, &cfgp) => 0; // write COUNT dirs lfsp_mount(&lfsp, LFSP_M_RDWR, &cfgp) => 0; @@ -169,7 +169,7 @@ code = ''' assert(sizeof(struct lfsp_config) == sizeof(struct lfs_config)); memcpy(&cfgp, CFG, sizeof(cfgp)); lfsp_t lfsp; - lfsp_format(&lfsp, &cfgp) => 0; + lfsr_format(&lfsp, LFS_F_RDWR, &cfgp) => 0; // write COUNT files lfsp_mount(&lfsp, LFSP_M_RDWR, &cfgp) => 0; @@ -259,7 +259,7 @@ code = ''' assert(sizeof(struct lfsp_config) == sizeof(struct lfs_config)); memcpy(&cfgp, CFG, sizeof(cfgp)); lfsp_t lfsp; - lfsp_format(&lfsp, &cfgp) => 0; + lfsr_format(&lfsp, LFS_F_RDWR, &cfgp) => 0; // write COUNT files+dirs lfsp_mount(&lfsp, LFSP_M_RDWR, &cfgp) => 0; @@ -376,7 +376,7 @@ code = ''' assert(sizeof(struct lfsp_config) == sizeof(struct lfs_config)); memcpy(&cfgp, CFG, sizeof(cfgp)); lfsp_t lfsp; - lfsp_format(&lfsp, &cfgp) => 0; + lfsr_format(&lfsp, LFS_F_RDWR, &cfgp) => 0; // write COUNT/2 dirs lfsp_mount(&lfsp, LFSP_M_RDWR, &cfgp) => 0; @@ -443,7 +443,7 @@ code = ''' assert(sizeof(struct lfsp_config) == sizeof(struct lfs_config)); memcpy(&cfgp, CFG, sizeof(cfgp)); lfsp_t lfsp; - lfsp_format(&lfsp, &cfgp) => 0; + lfsr_format(&lfsp, LFS_F_RDWR, &cfgp) => 0; // write half COUNT files lfsp_mount(&lfsp, LFSP_M_RDWR, &cfgp) => 0; @@ -565,7 +565,7 @@ code = ''' assert(sizeof(struct lfsp_config) == sizeof(struct lfs_config)); memcpy(&cfgp, CFG, sizeof(cfgp)); lfsp_t lfsp; - lfsp_format(&lfsp, &cfgp) => 0; + lfsr_format(&lfsp, LFS_F_RDWR, &cfgp) => 0; ////// @@ -715,7 +715,7 @@ if = [ code = ''' // create the new version lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // confirm the new mount works lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; @@ -743,7 +743,7 @@ if = [ code = ''' // create the new version lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // write COUNT dirs lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; @@ -803,7 +803,7 @@ if = [ code = ''' // create the new version lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // write COUNT files lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; @@ -893,7 +893,7 @@ if = [ code = ''' // create the new version lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // write COUNT files+dirs lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; @@ -1010,7 +1010,7 @@ if = [ code = ''' // create the new version lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // write COUNT/2 dirs lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; @@ -1077,7 +1077,7 @@ if = [ code = ''' // create the previous version lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // write half COUNT files lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; @@ -1199,7 +1199,7 @@ if = [ code = ''' // create the previous version lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // write half COUNT files lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; diff --git a/tests/test_dirs.toml b/tests/test_dirs.toml index 5d9fd5d8..3810b527 100644 --- a/tests/test_dirs.toml +++ b/tests/test_dirs.toml @@ -10,7 +10,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -73,7 +73,7 @@ code = ''' [cases.test_dirs_noent] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // make a directory @@ -93,7 +93,7 @@ code = ''' [cases.test_dirs_stat_root] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // make a directory @@ -117,7 +117,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -186,7 +186,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -278,7 +278,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -350,7 +350,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -421,7 +421,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -574,7 +574,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -763,7 +763,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -855,7 +855,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -947,7 +947,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -1083,7 +1083,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -1263,7 +1263,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -1350,7 +1350,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -1472,7 +1472,7 @@ code = ''' defines.ORDER = [0, 1, 2] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; if (ORDER == 0) { @@ -1585,7 +1585,7 @@ code = ''' defines.ORDER = [0, 1, 2] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; if (ORDER == 0) { @@ -1700,7 +1700,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -1885,7 +1885,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -2072,7 +2072,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -2260,7 +2260,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -2340,7 +2340,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -2403,7 +2403,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -2485,7 +2485,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -2590,7 +2590,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -2653,7 +2653,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -2870,7 +2870,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -3186,7 +3186,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -3316,7 +3316,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -3450,7 +3450,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -3675,7 +3675,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -4000,7 +4000,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -4138,7 +4138,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -4262,7 +4262,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -4357,7 +4357,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -4452,7 +4452,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -4539,7 +4539,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -4605,7 +4605,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -4696,7 +4696,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -4825,7 +4825,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -4885,7 +4885,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -5184,7 +5184,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -5677,7 +5677,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -5807,7 +5807,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -5937,7 +5937,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -6163,7 +6163,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -6492,7 +6492,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -6650,7 +6650,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -6802,7 +6802,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } diff --git a/tests/test_dread.toml b/tests/test_dread.toml index aef48f77..5870633c 100644 --- a/tests/test_dread.toml +++ b/tests/test_dread.toml @@ -12,7 +12,7 @@ defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512] defines.PARENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; if (PARENT) { @@ -66,7 +66,7 @@ defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512] defines.PARENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; if (PARENT) { @@ -143,7 +143,7 @@ defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512] defines.PARENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; if (PARENT) { @@ -226,7 +226,7 @@ defines.NEIGHBORS = [0x0, 0x1, 0x2, 0x3] if = 'PARENT || NEIGHBORS == 0' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; if (PARENT) { @@ -331,7 +331,7 @@ defines.SEEK = [0, 1, 2, 3, 4] if = 'PARENT || NEIGHBORS == 0' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; if (PARENT) { @@ -456,7 +456,7 @@ defines.SEEK = [0, 1, 2, 3, 4] if = 'PARENT || NEIGHBORS == 0' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; if (PARENT) { @@ -591,7 +591,7 @@ defines.SEEK = [0, 1, 2, 3, 4] if = 'PARENT || NEIGHBORS == 0' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; if (PARENT) { @@ -728,7 +728,7 @@ defines.SEEK = [0, 1, 2] if = 'PARENT || NEIGHBORS == 0' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; if (PARENT) { @@ -829,7 +829,7 @@ defines.SEEK = [0, 1, 2] if = 'PARENT || NEIGHBORS == 0' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; if (PARENT) { @@ -937,7 +937,7 @@ defines.SEEK = [0, 1, 2] if = 'PARENT || NEIGHBORS == 0' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; if (PARENT) { @@ -1058,7 +1058,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; if (PARENT) { @@ -1169,7 +1169,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; if (PARENT) { @@ -1285,7 +1285,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; if (PARENT) { @@ -1405,7 +1405,7 @@ defines.NEIGHBORS = [0x0, 0x1, 0x2, 0x3] defines.SEEK = [0, 1, 2] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfsr_mkdir(&lfs, "pricklypear") => 0; @@ -1493,7 +1493,7 @@ defines.NEIGHBORS = [0x0, 0x1, 0x2, 0x3] defines.SEEK = [0, 1, 2] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfsr_mkdir(&lfs, "pricklypear") => 0; @@ -1608,7 +1608,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -1743,7 +1743,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } diff --git a/tests/test_exhaustion.toml b/tests/test_exhaustion.toml index 1a7e2cb8..1b79745c 100644 --- a/tests/test_exhaustion.toml +++ b/tests/test_exhaustion.toml @@ -55,7 +55,10 @@ code = ''' // run the test lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + &cfg) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -267,7 +270,10 @@ code = ''' // run the test lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + &cfg) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -551,7 +557,10 @@ code = ''' // run the test lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + &cfg) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -725,7 +734,10 @@ code = ''' // run the test lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + &cfg) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), @@ -1141,7 +1153,10 @@ code = ''' // run the test lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0), + &cfg) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((CKPROGS) ? LFS_M_CKPROGS : 0), diff --git a/tests/test_files.toml b/tests/test_files.toml index 3321e975..00ee80e9 100644 --- a/tests/test_files.toml +++ b/tests/test_files.toml @@ -6,7 +6,7 @@ after = ['test_dirs', 'test_btree'] [cases.test_files_create] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -63,7 +63,7 @@ code = ''' [cases.test_files_hello] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -127,7 +127,7 @@ code = ''' defines.REMOUNT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -206,7 +206,7 @@ code = ''' defines.REMOUNT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -281,7 +281,7 @@ code = ''' defines.REMOUNT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -365,7 +365,7 @@ code = ''' [cases.test_files_dir_not_file] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a directory @@ -451,7 +451,7 @@ code = ''' [cases.test_files_root_not_file] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // try reading our root as a file @@ -530,7 +530,7 @@ code = ''' [cases.test_files_noent_not_file] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // try reading our invalid path as a file @@ -625,7 +625,7 @@ defines.SIZE = [ defines.FILE_BUFFER_SIZE = 64 code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -710,7 +710,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -796,7 +796,7 @@ fuzz = 'SEED' if = '(SIZE*N)/BLOCK_SIZE <= 16' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // set up a simulation to compare against @@ -933,7 +933,7 @@ defines.REMOUNT = [false, true] defines.FILE_BUFFER_SIZE = 64 code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -1012,7 +1012,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -1159,7 +1159,7 @@ fuzz = 'SEED' if = '(SIZE*N)/BLOCK_SIZE <= 16' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // set up a simulation to compare against @@ -1315,7 +1315,7 @@ defines.REMOUNT = [false, true] defines.FILE_BUFFER_SIZE = 64 code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a number of directories to distance our files @@ -1416,7 +1416,7 @@ defines.REMOUNT = [false, true] defines.FILE_BUFFER_SIZE = 64 code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a number of directories to distance our files @@ -1526,7 +1526,7 @@ defines.REMOUNT = [false, true] defines.FILE_BUFFER_SIZE = 64 code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -1611,7 +1611,7 @@ defines.REMOUNT = [false, true] defines.FILE_BUFFER_SIZE = 64 code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -1707,7 +1707,7 @@ defines.REMOUNT = [false, true] defines.FILE_BUFFER_SIZE = 64 code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -1803,7 +1803,7 @@ defines.REMOUNT = [false, true] defines.FILE_BUFFER_SIZE = 64 code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -1888,7 +1888,7 @@ defines.REMOUNT = [false, true] defines.FILE_BUFFER_SIZE = 64 code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -1983,7 +1983,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -2120,7 +2120,7 @@ defines.SIZE = [ if = '(SIZE*N)/BLOCK_SIZE <= 32' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many files while renaming @@ -2195,7 +2195,7 @@ defines.SIZE = [ if = '(SIZE*N)/BLOCK_SIZE <= 32' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many files while renaming @@ -2276,7 +2276,7 @@ fuzz = 'SEED' if = '(SIZE*N)/BLOCK_SIZE <= 16' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // set up a simulation to compare against @@ -2473,7 +2473,7 @@ fuzz = 'SEED' if = '(SIZE*N)/BLOCK_SIZE <= 16' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // set up a simulation to compare against @@ -2698,7 +2698,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } diff --git a/tests/test_forphans.toml b/tests/test_forphans.toml index 47d0ffc8..3ee9c581 100644 --- a/tests/test_forphans.toml +++ b/tests/test_forphans.toml @@ -17,7 +17,7 @@ defines.SYNC = [false, true] defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -230,7 +230,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -304,7 +304,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -392,7 +392,7 @@ defines.SYNC = [false, true] defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -599,7 +599,7 @@ defines.SYNC = [false, true] defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -800,7 +800,7 @@ defines.SYNC = [false, true] defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a desync file @@ -1133,7 +1133,7 @@ defines.CHUNK = 'LFS_MIN(64, SIZE)' defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a desync file @@ -1261,7 +1261,7 @@ defines.SYNC = [0, 1, 2, 3] defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a desync file @@ -1553,7 +1553,7 @@ defines.CHUNK = 'LFS_MIN(64, SIZE)' defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create N orphans @@ -1766,7 +1766,7 @@ defines.REMOUNT = [0, 1, 2] defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create neighboring orphaned files @@ -1865,7 +1865,7 @@ defines.REMOUNT = [0, 1, 2] defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create neighboring orphaned files @@ -1953,7 +1953,7 @@ defines.REMOUNT = [0, 1, 2] defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create neighboring orphaned files @@ -2037,7 +2037,7 @@ defines.REMOUNT = [0, 1, 2] defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting directory structure @@ -2190,7 +2190,7 @@ defines.REMOUNT = [0, 1, 2] defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create neighboring orphaned files @@ -2276,7 +2276,7 @@ defines.CHUNK = 'LFS_MIN(64, SIZE)' defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -2409,7 +2409,7 @@ defines.CHUNK = 'LFS_MIN(64, SIZE)' defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -2542,7 +2542,7 @@ defines.CHUNK = 'LFS_MIN(64, SIZE)' defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -2773,7 +2773,7 @@ defines.CHUNK = 'LFS_MIN(64, SIZE)' defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -3004,7 +3004,7 @@ defines.CHUNK = 'LFS_MIN(64, SIZE)' defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -3270,7 +3270,7 @@ defines.CHUNK = 'LFS_MIN(64, SIZE)' defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -3537,7 +3537,7 @@ defines.MKCONSISTENT = [false, true] if = 'REMOUNT <= CLOSE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a zombie @@ -3649,7 +3649,7 @@ defines.MKCONSISTENT = [false, true] if = 'REMOUNT <= CLOSE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a zombie @@ -3749,7 +3749,7 @@ defines.MKCONSISTENT = [false, true] if = 'REMOUNT <= CLOSE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a zombie @@ -3845,7 +3845,7 @@ defines.MKCONSISTENT = [false, true] if = 'REMOUNT <= CLOSE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting directory structure @@ -4009,7 +4009,7 @@ defines.MKCONSISTENT = [false, true] if = 'REMOUNT <= CLOSE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a zombie @@ -4097,7 +4097,7 @@ defines.MKCONSISTENT = [false, true] if = 'REMOUNT <= CLOSE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file, not a zombie yet @@ -4185,7 +4185,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting directory structure @@ -4340,7 +4340,7 @@ defines.MKCONSISTENT = [false, true] if = 'REMOUNT <= CLOSE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a zombie @@ -4448,7 +4448,7 @@ defines.MKCONSISTENT = [false, true] if = 'REMOUNT <= CLOSE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting directory structure @@ -4630,7 +4630,7 @@ if = '(SIZE*N)/BLOCK_SIZE <= 32' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -4701,7 +4701,7 @@ code = ''' // we should have cleaned up all grms/orphans assert(lfs.grm.mids[0] == -1); assert(lfs.grm.mids[1] == -1); - assert(!(lfs.flags & LFS_F_ORPHANS)); + assert(!(lfs.flags & LFS_I_ORPHANS)); struct lfs_fsinfo fsinfo; lfsr_fs_stat(&lfs, &fsinfo) => 0; @@ -4771,7 +4771,7 @@ if = '(SIZE*N)/BLOCK_SIZE <= 32' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -4835,7 +4835,7 @@ code = ''' // we should have cleaned up all grms/orphans assert(lfs.grm.mids[0] == -1); assert(lfs.grm.mids[1] == -1); - assert(!(lfs.flags & LFS_F_ORPHANS)); + assert(!(lfs.flags & LFS_I_ORPHANS)); struct lfs_fsinfo fsinfo; lfsr_fs_stat(&lfs, &fsinfo) => 0; @@ -4921,7 +4921,7 @@ if = '(SIZE*N)/BLOCK_SIZE <= 32' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -4983,7 +4983,7 @@ code = ''' // we should have cleaned up all grms/orphans assert(lfs.grm.mids[0] == -1); assert(lfs.grm.mids[1] == -1); - assert(!(lfs.flags & LFS_F_ORPHANS)); + assert(!(lfs.flags & LFS_I_ORPHANS)); struct lfs_fsinfo fsinfo; lfsr_fs_stat(&lfs, &fsinfo) => 0; @@ -5072,7 +5072,7 @@ defines.DISTANCE = [0, 1, 100] defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting directory structure @@ -5315,7 +5315,7 @@ defines.SYNC = [false, true] defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting directory structure @@ -5617,7 +5617,7 @@ defines.SYNC = [false, true] defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting directory structure @@ -5968,7 +5968,7 @@ defines.SYNC = [false, true] defines.MKCONSISTENT = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting directory structure @@ -6312,7 +6312,7 @@ defines.MKCONSISTENT = [false, true] if = 'REMOUNT <= CLOSE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting directory structure @@ -6479,7 +6479,7 @@ defines.MKCONSISTENT = [false, true] if = 'REMOUNT <= CLOSE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting directory structure @@ -6671,7 +6671,7 @@ defines.ZOMBIE = [false, true] if = '(SIZE*N*(1+DESYNC+ZOMBIE))/BLOCK_SIZE <= 32' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // we need a file handle for each file + desync + zombie @@ -7018,7 +7018,7 @@ defines.ZOMBIE = [false, true] if = '(SIZE*N*(1+DESYNC+ZOMBIE))/BLOCK_SIZE <= 32' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // we need a file handle for each file + desync + zombie @@ -7366,7 +7366,7 @@ fuzz = 'SEED' if = '(SIZE*N)/BLOCK_SIZE <= 16' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // set up a simulation to compare against @@ -7705,7 +7705,7 @@ fuzz = 'SEED' if = '(SIZE*N)/BLOCK_SIZE <= 16' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // set up a simulation to compare against diff --git a/tests/test_fsync.toml b/tests/test_fsync.toml index 1e417e9f..53c283ac 100644 --- a/tests/test_fsync.toml +++ b/tests/test_fsync.toml @@ -6,7 +6,7 @@ after = 'test_fwrite' [cases.test_fsync_sync_wrr] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // a - writer @@ -107,7 +107,7 @@ code = ''' [cases.test_fsync_sync_wwrr] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // a - writer @@ -227,7 +227,7 @@ code = ''' [cases.test_fsync_sync_wwrr_noop] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // a - writer @@ -361,7 +361,7 @@ code = ''' [cases.test_fsync_sync_wwrr_append] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // a - writer @@ -497,7 +497,7 @@ defines.SIZE = [ defines.CHUNK = '(SIZE+16-1) / 16' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -548,7 +548,7 @@ defines.SEED = 'range(20)' fuzz = 'SEED' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -613,7 +613,7 @@ defines.SIZE = [ defines.CHUNK = '(SIZE+16-1) / 16' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((FLUSH == 3) ? LFS_M_FLUSH : 0) @@ -710,7 +710,7 @@ defines.SEED = 'range(20)' fuzz = 'SEED' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((FLUSH == 3) ? LFS_M_FLUSH : 0) @@ -817,7 +817,7 @@ defines.SIZE = [ defines.CHUNK = '(SIZE+16-1) / 16' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((FLUSH == 3) ? LFS_M_FLUSH : 0) @@ -909,7 +909,7 @@ defines.SEED = 'range(20)' fuzz = 'SEED' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((FLUSH == 3) ? LFS_M_FLUSH : 0) @@ -1006,7 +1006,7 @@ defines.SIZE = [ defines.CHUNK = '(SIZE+16-1) / 16' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((FLUSH == 3) ? LFS_M_FLUSH : 0) @@ -1115,7 +1115,7 @@ defines.SEED = 'range(20)' fuzz = 'SEED' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((FLUSH == 3) ? LFS_M_FLUSH : 0) @@ -1233,7 +1233,7 @@ defines.SIZE = [ defines.CHUNK = '(SIZE+16-1) / 16' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((FLUSH == 3) ? LFS_M_FLUSH : 0) @@ -1341,7 +1341,7 @@ defines.SEED = 'range(20)' fuzz = 'SEED' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((FLUSH == 3) ? LFS_M_FLUSH : 0) @@ -1460,7 +1460,7 @@ defines.SEED = 'range(20)' fuzz = 'SEED' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((FLUSH == 3) ? LFS_M_FLUSH : 0) @@ -1601,7 +1601,7 @@ defines.SEED = 'range(20)' fuzz = 'SEED' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR | ((FLUSH == 3) ? LFS_M_FLUSH : 0) @@ -1773,7 +1773,7 @@ code = ''' [cases.test_fsync_desync_wdrr] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // a - writer @@ -1860,7 +1860,7 @@ code = ''' [cases.test_fsync_desync_wrrd] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // a - writer @@ -1940,7 +1940,7 @@ code = ''' [cases.test_fsync_desync_wdwdrr] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // a - writer @@ -2061,7 +2061,7 @@ code = ''' [cases.test_fsync_desync_wdwdrr_noop] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // a - writer @@ -2163,7 +2163,7 @@ code = ''' [cases.test_fsync_desync_wrrd_noop] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // a - writer @@ -2265,7 +2265,7 @@ code = ''' [cases.test_fsync_desync_wdwdrr_append] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // a - writer @@ -2411,7 +2411,7 @@ defines.SIZE = [ defines.CHUNK = '(SIZE+16-1) / 16' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -2507,7 +2507,7 @@ defines.SEED = 'range(20)' fuzz = 'SEED' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -2613,7 +2613,7 @@ defines.SIZE = [ defines.CHUNK = '(SIZE+16-1) / 16' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -2701,7 +2701,7 @@ defines.SEED = 'range(20)' fuzz = 'SEED' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -2799,7 +2799,7 @@ defines.SIZE = [ defines.CHUNK = '(SIZE+16-1) / 16' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -2910,7 +2910,7 @@ defines.SEED = 'range(20)' fuzz = 'SEED' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -3028,7 +3028,7 @@ defines.SEED = 'range(20)' fuzz = 'SEED' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -3178,7 +3178,7 @@ defines.SEED = 'range(20)' fuzz = 'SEED' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; diff --git a/tests/test_fwrite.toml b/tests/test_fwrite.toml index cb68c05a..1538ce89 100644 --- a/tests/test_fwrite.toml +++ b/tests/test_fwrite.toml @@ -30,7 +30,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -109,7 +109,7 @@ defines.SYNC = [false, true] in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -249,7 +249,7 @@ defines.SYNC = [false, true] in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -402,7 +402,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -495,7 +495,7 @@ if = 'CHUNK <= SIZE' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -650,7 +650,7 @@ if = 'CHUNK <= SIZE' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -823,7 +823,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -1003,7 +1003,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -1188,7 +1188,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -1313,7 +1313,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -1446,7 +1446,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -1575,7 +1575,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -1713,7 +1713,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -1851,7 +1851,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -2040,7 +2040,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -2229,7 +2229,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -2373,7 +2373,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -2517,7 +2517,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -2601,7 +2601,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -2748,7 +2748,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -2913,7 +2913,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -3027,7 +3027,7 @@ if = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file diff --git a/tests/test_gc.toml b/tests/test_gc.toml index 71beaa23..ee870170 100644 --- a/tests/test_gc.toml +++ b/tests/test_gc.toml @@ -19,7 +19,7 @@ defines.SIZE = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -84,7 +84,7 @@ defines.SIZE = [ if = 'CKMETA || CKDATA' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -161,7 +161,7 @@ defines.SIZE = [ if = 'CKMETA || CKDATA' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -228,7 +228,7 @@ defines.SIZE = [ if = 'CKMETA || CKDATA' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -297,7 +297,7 @@ defines.SIZE = [ defines.GC_COMPACT_THRESH = 'BLOCK_SIZE/2' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -384,7 +384,7 @@ defines.GC_COMPACT_THRESH = 'BLOCK_SIZE/2' if = 'CKMETA || CKDATA' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -492,7 +492,7 @@ defines.GC_COMPACT_THRESH = 'BLOCK_SIZE/2' if = 'CKMETA || CKDATA' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -590,7 +590,7 @@ defines.GC_COMPACT_THRESH = 'BLOCK_SIZE/2' if = 'CKMETA || CKDATA' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -683,7 +683,7 @@ defines.SIZE = 'FILE_BUFFER_SIZE/2' defines.ORPHANS = [1, 2, 3, 100] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -787,7 +787,7 @@ defines.SIZE = 'FILE_BUFFER_SIZE/2' defines.ORPHANS = [1, 2, 3, 100] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -886,7 +886,7 @@ defines.ORPHANS = [3, 100] if = 'CKMETA || CKDATA' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -1007,7 +1007,7 @@ if = 'CKMETA || CKDATA' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -1121,7 +1121,7 @@ defines.ORPHANS = [3, 100] if = 'CKMETA || CKDATA' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -1244,7 +1244,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting filesystem @@ -1342,7 +1342,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting filesystem @@ -1444,7 +1444,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting filesystem @@ -1531,7 +1531,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting filesystem @@ -1622,7 +1622,7 @@ defines.SIZE = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -1688,7 +1688,7 @@ defines.SIZE = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -1755,7 +1755,7 @@ defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256] code = ''' // test creating directories lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // make this many directories @@ -1853,7 +1853,7 @@ fuzz = 'SEED' code = ''' // test fuzz with dirs lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // set up a simulation to compare against @@ -2026,7 +2026,7 @@ if = '(SIZE*N)/BLOCK_SIZE <= 32' code = ''' // test creating files lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many files @@ -2118,7 +2118,7 @@ if = '(SIZE*N)/BLOCK_SIZE <= 16' code = ''' // test fuzz with files lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // set up a simulation to compare against @@ -2355,7 +2355,7 @@ if = [ code = ''' // test with complex file writes lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -2494,7 +2494,7 @@ if = '(SIZE*N)/BLOCK_SIZE <= 16' code = ''' // test with orphans, zombies, etc lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // set up a simulation to compare against @@ -2850,7 +2850,7 @@ if = '(SIZE*N)/BLOCK_SIZE <= 16' code = ''' // test with orphans, zombies, dirs, etc lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // set up a simulation to compare against diff --git a/tests/test_grow.toml b/tests/test_grow.toml index b659c2a1..565446f1 100644 --- a/tests/test_grow.toml +++ b/tests/test_grow.toml @@ -29,7 +29,7 @@ code = ''' struct lfs_config cfg = *CFG; cfg.block_count = SMALLER_BLOCK_COUNT; lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, LFS_F_RDWR, &cfg) => 0; lfsr_mount(&lfs, LFS_M_RDWR, &cfg) => 0; // fsstat up to date? @@ -148,7 +148,7 @@ code = ''' struct lfs_config cfg = *CFG; cfg.block_count = BIGGER_BLOCK_COUNT; lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, LFS_F_RDWR, &cfg) => 0; lfsr_mount(&lfs, LFS_M_RDWR, &cfg) => 0; // fsstat up to date? @@ -209,7 +209,7 @@ code = ''' struct lfs_config cfg = *CFG; cfg.block_count = SMALLER_BLOCK_COUNT; lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, LFS_F_RDWR, &cfg) => 0; lfsr_mount(&lfs, LFS_M_RDWR, &cfg) => 0; // fsstat up to date? @@ -324,7 +324,7 @@ code = ''' struct lfs_config cfg = *CFG; cfg.block_count = SMALLER_BLOCK_COUNT; lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, LFS_F_RDWR, &cfg) => 0; lfsr_mount(&lfs, LFS_M_RDWR, &cfg) => 0; // fsstat up to date? @@ -441,7 +441,7 @@ code = ''' struct lfs_config cfg = *CFG; cfg.block_count = INIT_BLOCK_COUNT; lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, LFS_F_RDWR, &cfg) => 0; // mount with maximum block count lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; @@ -584,7 +584,7 @@ code = ''' struct lfs_config cfg = *CFG; cfg.block_count = INIT_BLOCK_COUNT; lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, LFS_F_RDWR, &cfg) => 0; // mount with maximum block count lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; @@ -815,7 +815,7 @@ code = ''' struct lfs_config cfg = *CFG; cfg.block_count = INIT_BLOCK_COUNT; lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, LFS_F_RDWR, &cfg) => 0; // mount with maximum block count lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; @@ -964,7 +964,7 @@ code = ''' struct lfs_config cfg = *CFG; cfg.block_count = INIT_BLOCK_COUNT; lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, LFS_F_RDWR, &cfg) => 0; // mount with maximum block count lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; @@ -1258,7 +1258,7 @@ code = ''' struct lfs_config cfg = *CFG; cfg.block_count = INIT_BLOCK_COUNT; lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, LFS_F_RDWR, &cfg) => 0; // mount with maximum block count lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; @@ -1682,7 +1682,7 @@ code = ''' struct lfs_config cfg = *CFG; cfg.block_count = INIT_BLOCK_COUNT; lfs_t lfs; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, LFS_F_RDWR, &cfg) => 0; // mount with maximum block count lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; @@ -2214,7 +2214,7 @@ code = ''' // start with a small number of blocks struct lfs_config cfg = *CFG; cfg.block_count = INIT_BLOCK_COUNT; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, LFS_F_RDWR, &cfg) => 0; // mount with maximum block count lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; @@ -2527,7 +2527,7 @@ code = ''' // start with a small number of blocks struct lfs_config cfg = *CFG; cfg.block_count = INIT_BLOCK_COUNT; - lfsr_format(&lfs, &cfg) => 0; + lfsr_format(&lfs, LFS_F_RDWR, &cfg) => 0; // mount with maximum block count lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; diff --git a/tests/test_mount.toml b/tests/test_mount.toml index 2ddc2808..e9698b1c 100644 --- a/tests/test_mount.toml +++ b/tests/test_mount.toml @@ -6,7 +6,7 @@ after = ['test_mtree', 'test_traversal'] [cases.test_mount_simple] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfsr_unmount(&lfs) => 0; ''' @@ -21,7 +21,7 @@ defines.SYNC = [false, true] if = 'LFS_IFDEF_CKREADS(true, !CKREADS)' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, ((RDONLY) ? LFS_M_RDONLY : LFS_M_RDWR) | ((CKPROGS) ? LFS_M_CKPROGS : 0) @@ -44,6 +44,25 @@ code = ''' lfsr_unmount(&lfs) => 0; ''' +# test that various format flags don't, uh, assert or anything +# +# these end up passed to mount internally +[cases.test_mount_format_flags] +defines.CKPROGS = [false, true] +defines.CKREADS = [false, true] +if = 'LFS_IFDEF_CKREADS(true, !CKREADS)' +code = ''' + lfs_t lfs; + lfsr_format(&lfs, + LFS_F_RDWR + | ((CKPROGS) ? LFS_F_CKPROGS : 0) + | ((CKREADS) ? LFS_IFDEF_CKREADS(LFS_F_CKREADS, 0) : 0), + CFG) => 0; + + lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; + lfsr_unmount(&lfs) => 0; +''' + # test that on-mount traversals do what they say they do @@ -52,7 +71,7 @@ defines.CKMETA = [false, true] defines.CKDATA = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // by default we need a lookahead scan lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; @@ -91,7 +110,7 @@ defines.SIZE = [ defines.GC_COMPACT_THRESH = 'BLOCK_SIZE/2' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; uint32_t prng = 42; @@ -161,7 +180,7 @@ defines.SIZE = 'FILE_BUFFER_SIZE/2' defines.ORPHANS = [0, 1, 2, 3, 100] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; uint32_t prng = 42; @@ -269,7 +288,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting filesystem @@ -358,7 +377,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create an interesting filesystem @@ -441,7 +460,7 @@ in = 'lfs.c' code = ''' // create a superblock lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // delete the magic string // @@ -465,7 +484,7 @@ in = 'lfs.c' code = ''' // create a superblock lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // tweak the magic string // @@ -489,7 +508,7 @@ in = 'lfs.c' code = ''' // create a superblock lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // bump the major version // @@ -515,7 +534,7 @@ in = 'lfs.c' code = ''' // create a superblock lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // bump the minor version // @@ -541,7 +560,7 @@ in = 'lfs.c' code = ''' // create a superblock lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // set the nonstandard rcompat flag, this will always be incompatible // with standard littlefs @@ -568,7 +587,7 @@ in = 'lfs.c' code = ''' // create a superblock lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // set the nonstandard rcompat flag, this will always be incompatible // with standard littlefs @@ -598,7 +617,7 @@ in = 'lfs.c' code = ''' // create a superblock lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // set the nonstandard ocompat flag, this will always be incompatible // with standard littlefs @@ -627,7 +646,7 @@ in = 'lfs.c' code = ''' // create a superblock lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // set a really far rcompat flag // @@ -651,7 +670,7 @@ in = 'lfs.c' code = ''' // create a superblock lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // set a really far wcompat flag // @@ -678,7 +697,7 @@ in = 'lfs.c' code = ''' // create a superblock lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // set a really far ocompat flag // @@ -706,7 +725,7 @@ in = 'lfs.c' code = ''' // create a superblock lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // set an incompatible block size // @@ -733,7 +752,7 @@ in = 'lfs.c' code = ''' // create a superblock lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // set an incompatible block count // @@ -760,7 +779,7 @@ in = 'lfs.c' code = ''' // create a superblock lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // set an incompatible block size // @@ -784,7 +803,7 @@ in = 'lfs.c' code = ''' // create a superblock lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // set an incompatible file limit // @@ -813,7 +832,7 @@ in = 'lfs.c' code = ''' // create a superblock lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // create an unknown config lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; @@ -834,7 +853,7 @@ in = 'lfs.c' code = ''' // create a superblock lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // create some files lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; diff --git a/tests/test_mtree.toml b/tests/test_mtree.toml index 9fb5af05..7b370b6d 100644 --- a/tests/test_mtree.toml +++ b/tests/test_mtree.toml @@ -9,7 +9,7 @@ defines.LOOKAHEAD_SIZE = 'BLOCK_COUNT / 8' [cases.test_mtree_mroot] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfsr_unmount(&lfs) => 0; ''' @@ -20,7 +20,7 @@ defines.N = [1, 3] in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -62,7 +62,7 @@ defines.N = [1, 3] in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -107,7 +107,7 @@ defines.N = [5, 5000] in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -153,7 +153,7 @@ defines.SIZE = 'BLOCK_SIZE / 4' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -228,7 +228,7 @@ defines.SIZE = 'BLOCK_SIZE / 4' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -313,7 +313,7 @@ defines.SIZE = 'BLOCK_SIZE / 4' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -438,7 +438,7 @@ defines.FORCE_COMPACTION = [false, true] in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -520,7 +520,7 @@ fuzz = 'SEED' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -624,7 +624,7 @@ defines.SIZE = 'BLOCK_SIZE / 4' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -710,7 +710,7 @@ defines.SIZE = 'BLOCK_SIZE / 4' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -798,7 +798,7 @@ defines.SIZE = 'BLOCK_SIZE / 4' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -869,7 +869,7 @@ defines.SIZE = 'BLOCK_SIZE / 4' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -977,7 +977,7 @@ defines.SIZE = 'BLOCK_SIZE / 4' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -1087,7 +1087,7 @@ fuzz = 'SEED' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -1219,7 +1219,7 @@ defines.BLOCK_RECYCLES = 0 in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -1333,7 +1333,7 @@ defines.BLOCK_RECYCLES = 0 in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -1459,7 +1459,7 @@ defines.BLOCK_RECYCLES = 0 in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -1585,7 +1585,7 @@ defines.BLOCK_RECYCLES = 0 in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -1660,7 +1660,7 @@ defines.PROG_SIZE = 'BLOCK_SIZE' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -1782,7 +1782,7 @@ defines.BLOCK_RECYCLES = 0 in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -1881,7 +1881,7 @@ defines.BLOCK_RECYCLES = 0 in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -2012,7 +2012,7 @@ defines.BLOCK_RECYCLES = 0 in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -2156,7 +2156,7 @@ defines.BLOCK_RECYCLES = 0 in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -2255,7 +2255,7 @@ defines.BLOCK_RECYCLES = 0 in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -2340,7 +2340,7 @@ defines.BLOCK_RECYCLES = 0 in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -2437,7 +2437,7 @@ fuzz = 'SEED' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -2593,7 +2593,7 @@ code = ''' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -2652,7 +2652,7 @@ code = ''' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -2702,7 +2702,7 @@ code = ''' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -2754,7 +2754,7 @@ defines.SIZE = 'BLOCK_SIZE / 4' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -2827,7 +2827,7 @@ defines.SIZE = 'BLOCK_SIZE / 4' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -2912,7 +2912,7 @@ defines.BLOCK_RECYCLES = 0 in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -2970,7 +2970,7 @@ defines.BLOCK_RECYCLES = 0 in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -3059,7 +3059,7 @@ defines.BLOCK_RECYCLES = 0 in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -3146,7 +3146,7 @@ defines.SIZE = 'BLOCK_SIZE / 4' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -3248,7 +3248,7 @@ defines.SIZE = 'BLOCK_SIZE / 4' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -3346,7 +3346,7 @@ defines.CKMETA = [false, true] in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -3448,7 +3448,7 @@ defines.SIZE = 'BLOCK_SIZE / 4' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -3580,7 +3580,7 @@ defines.SIZE = 'BLOCK_SIZE / 4' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -3722,7 +3722,7 @@ defines.SIZE = 'BLOCK_SIZE / 4' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -3893,7 +3893,7 @@ defines.BLOCK_RECYCLES = 0 in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -4008,7 +4008,7 @@ defines.FORCE_COMPACTION = [false, true] in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -4153,7 +4153,7 @@ fuzz = 'SEED' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -4319,7 +4319,7 @@ code = ''' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); @@ -4374,7 +4374,7 @@ code = ''' [cases.test_mtree_magic] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; // check our magic string // @@ -4396,7 +4396,7 @@ defines.BLOCK_RECYCLES = 0 in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; @@ -4453,7 +4453,7 @@ defines.PROG_SIZE = 'BLOCK_SIZE' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfs_alloc_ckpoint(&lfs); lfsr_data_t data; diff --git a/tests/test_paths.toml b/tests/test_paths.toml index 873821e3..6a230183 100644 --- a/tests/test_paths.toml +++ b/tests/test_paths.toml @@ -5,7 +5,7 @@ after = 'test_dirs' [cases.test_paths_normal] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfsr_mkdir(&lfs, "tea") => 0; lfsr_mkdir(&lfs, "tea/green") => 0; @@ -30,7 +30,7 @@ code = ''' [cases.test_paths_redundant_slashes] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfsr_mkdir(&lfs, "tea") => 0; lfsr_mkdir(&lfs, "tea/green") => 0; @@ -57,7 +57,7 @@ code = ''' [cases.test_paths_dot] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfsr_mkdir(&lfs, "tea") => 0; lfsr_mkdir(&lfs, "tea/green") => 0; @@ -86,7 +86,7 @@ code = ''' [cases.test_paths_dot_dot] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfsr_mkdir(&lfs, "tea") => 0; lfsr_mkdir(&lfs, "tea/green") => 0; @@ -119,7 +119,7 @@ code = ''' [cases.test_paths_trailing_dot] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfsr_mkdir(&lfs, "tea") => 0; lfsr_mkdir(&lfs, "tea/green") => 0; @@ -144,7 +144,7 @@ code = ''' [cases.test_paths_leading_dot] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfsr_mkdir(&lfs, ".milk") => 0; struct lfs_info info; @@ -159,7 +159,7 @@ code = ''' [cases.test_paths_root_dot_dot] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfsr_mkdir(&lfs, "tea") => 0; lfsr_mkdir(&lfs, "tea/green") => 0; @@ -186,7 +186,7 @@ code = ''' [cases.test_paths_invalid] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG); + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; struct lfs_info info; lfsr_stat(&lfs, "milk", &info) => LFS_ERR_NOENT; @@ -211,7 +211,7 @@ code = ''' [cases.test_paths_root] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; struct lfs_info info; lfsr_stat(&lfs, "/", &info) => 0; @@ -232,7 +232,7 @@ code = ''' [cases.test_paths_root_reprs] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; struct lfs_info info; lfsr_stat(&lfs, "/", &info) => 0; @@ -266,7 +266,7 @@ code = ''' [cases.test_paths_max] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfsr_mkdir(&lfs, "coffee") => 0; lfsr_mkdir(&lfs, "coffee/drip") => 0; @@ -294,7 +294,7 @@ code = ''' [cases.test_paths_really_big] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfsr_mkdir(&lfs, "coffee") => 0; lfsr_mkdir(&lfs, "coffee/drip") => 0; diff --git a/tests/test_powerloss.toml b/tests/test_powerloss.toml index 2331efdb..8ef61021 100644 --- a/tests/test_powerloss.toml +++ b/tests/test_powerloss.toml @@ -36,7 +36,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } if (MKCONSISTENT) { @@ -146,7 +146,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } if (MKCONSISTENT) { @@ -249,7 +249,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } if (MKCONSISTENT) { @@ -481,7 +481,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } if (MKCONSISTENT) { diff --git a/tests/test_relocations.toml b/tests/test_relocations.toml index ce8e2402..f2afb4bf 100644 --- a/tests/test_relocations.toml +++ b/tests/test_relocations.toml @@ -17,7 +17,7 @@ defines.BLOCK_RECYCLES = [4, 1, 0] defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // make this many directories @@ -99,7 +99,7 @@ defines.SEED = 'range(10)' fuzz = 'SEED' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // set up a simulation to compare against @@ -257,7 +257,7 @@ defines.SIZE = [ if = '(SIZE*N)/BLOCK_SIZE <= 32' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many files @@ -333,7 +333,7 @@ fuzz = 'SEED' if = '(SIZE*N)/BLOCK_SIZE <= 16' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // set up a simulation to compare against @@ -546,7 +546,7 @@ fuzz = 'SEED' if = '(SIZE*N)/BLOCK_SIZE <= 16' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // set up a simulation to compare against @@ -886,7 +886,7 @@ fuzz = 'SEED' if = '(SIZE*N)/BLOCK_SIZE <= 16' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // set up a simulation to compare against @@ -1318,7 +1318,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } @@ -1539,7 +1539,7 @@ code = ''' lfs_t lfs; int err = lfsr_mount(&lfs, LFS_M_RDWR, CFG); if (err) { - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; } diff --git a/tests/test_traversal.toml b/tests/test_traversal.toml index a19cbf4b..41b786be 100644 --- a/tests/test_traversal.toml +++ b/tests/test_traversal.toml @@ -16,7 +16,7 @@ defines.CKMETA = [false, true] defines.CKDATA = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // try traversing @@ -49,7 +49,7 @@ defines.CKMETA = [false, true] defines.CKDATA = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // try traversing @@ -91,7 +91,7 @@ defines.CKMETA = [false, true] defines.CKDATA = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // try traversing @@ -132,7 +132,7 @@ defines.CKMETA = [false, true] defines.CKDATA = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many directories @@ -242,7 +242,7 @@ defines.CKDATA = [false, true] if = '(SIZE*N)/BLOCK_SIZE <= 32' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many files @@ -357,7 +357,7 @@ defines.CKDATA = [false, true] if = '(SIZE*N)/BLOCK_SIZE <= 32' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many files @@ -483,7 +483,7 @@ defines.CKMETA = [false, true] defines.CKDATA = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many directories @@ -602,7 +602,7 @@ defines.CKDATA = [false, true] if = '(SIZE*N)/BLOCK_SIZE <= 32' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many files @@ -726,7 +726,7 @@ defines.CKDATA = [false, true] if = '(SIZE*N)/BLOCK_SIZE <= 32' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many files @@ -863,7 +863,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many directories @@ -948,7 +948,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many files @@ -1044,7 +1044,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many files @@ -1137,7 +1137,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many directories @@ -1220,7 +1220,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many files @@ -1314,7 +1314,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many files @@ -1405,7 +1405,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many directories @@ -1488,7 +1488,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many files @@ -1582,7 +1582,7 @@ code = ''' assert(i < 2*BLOCK_COUNT); lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create this many files @@ -1673,7 +1673,7 @@ defines.CKMETA = [false, true] defines.CKDATA = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // check flags before @@ -1718,7 +1718,7 @@ defines.CKMETA = [false, true] defines.CKDATA = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // try traversing @@ -1778,7 +1778,7 @@ defines.CKMETA = [false, true] defines.CKDATA = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // try traversing @@ -1847,7 +1847,7 @@ defines.CKMETA = [false, true] defines.CKDATA = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // try traversing @@ -1898,7 +1898,7 @@ defines.CKMETA = [false, true] defines.CKDATA = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // make a file @@ -1955,7 +1955,7 @@ defines.CKMETA = [false, true] defines.CKDATA = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // make a file @@ -2020,7 +2020,7 @@ defines.SIZE = [ ] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -2096,7 +2096,7 @@ defines.SIZE = [ defines.SYNC = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -2179,7 +2179,7 @@ defines.SIZE = 'FILE_BUFFER_SIZE/2' defines.TRUNC = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -2265,7 +2265,7 @@ defines.INLINE_SIZE = 0 defines.TRUNC = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -2364,7 +2364,7 @@ defines.SIZE = '2*BLOCK_SIZE' defines.TRUNC = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -2456,7 +2456,7 @@ defines.CKDATA = [false, true] defines.SIZE = 'FILE_BUFFER_SIZE/2' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -2541,7 +2541,7 @@ defines.SIZE = '2*BLOCK_SIZE' defines.INLINE_SIZE = 0 code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -2639,7 +2639,7 @@ defines.CKDATA = [false, true] defines.SIZE = '2*BLOCK_SIZE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -2732,7 +2732,7 @@ defines.SIZE = 'FILE_BUFFER_SIZE/2' defines.DESYNC = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -2822,7 +2822,7 @@ defines.INLINE_SIZE = 0 defines.DESYNC = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -2925,7 +2925,7 @@ defines.SIZE = '2*BLOCK_SIZE' defines.DESYNC = [false, true] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -3021,7 +3021,7 @@ defines.CKDATA = [false, true] defines.SIZE = '2*BLOCK_SIZE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -3104,7 +3104,7 @@ defines.CKDATA = [false, true] defines.SIZE = '2*BLOCK_SIZE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -3205,7 +3205,7 @@ defines.CKDATA = [false, true] defines.SIZE = '2*BLOCK_SIZE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -3301,7 +3301,7 @@ defines.CKDATA = [false, true] defines.SIZE = '2*BLOCK_SIZE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -3403,7 +3403,7 @@ defines.CKDATA = [false, true] defines.SIZE = '2*BLOCK_SIZE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -3523,7 +3523,7 @@ defines.CKDATA = [false, true] defines.SIZE = '2*BLOCK_SIZE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -3640,7 +3640,7 @@ defines.SIZE = '2*BLOCK_SIZE' defines.BLOCK_RECYCLES = 0 code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -3737,7 +3737,7 @@ defines.SIZE = '2*BLOCK_SIZE' defines.BLOCK_RECYCLES = 0 code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -3833,7 +3833,7 @@ defines.SIZE = '2*BLOCK_SIZE' defines.BLOCK_RECYCLES = 0 code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -3944,7 +3944,7 @@ defines.SIZE = '2*BLOCK_SIZE' defines.BLOCK_RECYCLES = 0 code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -4052,7 +4052,7 @@ defines.CKDATA = [false, true] defines.SIZE = '2*BLOCK_SIZE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -4225,7 +4225,7 @@ defines.CKDATA = [false, true] defines.SIZE = '2*BLOCK_SIZE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -4405,7 +4405,7 @@ defines.CKDATA = [false, true] defines.SIZE = '2*BLOCK_SIZE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -4579,7 +4579,7 @@ defines.CKDATA = [false, true] defines.SIZE = '2*BLOCK_SIZE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -4750,7 +4750,7 @@ defines.CKDATA = [false, true] defines.SIZE = '2*BLOCK_SIZE' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -4930,7 +4930,7 @@ defines.SIZE = '2*BLOCK_SIZE' defines.BLOCK_RECYCLES = 0 code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -5107,7 +5107,7 @@ defines.SIZE = '2*BLOCK_SIZE' defines.BLOCK_RECYCLES = 0 code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -5298,7 +5298,7 @@ defines.SIZE = 'FILE_BUFFER_SIZE/2' defines.GC_COMPACT_THRESH = 'BLOCK_SIZE/2' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -5403,7 +5403,7 @@ defines.BLOCK_RECYCLES = 0 in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -5536,7 +5536,7 @@ defines.BLOCK_RECYCLES = 0 in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -5641,7 +5641,7 @@ defines.GC_COMPACT_THRESH = 'BLOCK_SIZE/2' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -5793,7 +5793,7 @@ defines.GC_COMPACT_THRESH = 'BLOCK_SIZE/2' defines.COMPACTSET = 'range(0x7)' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -6010,7 +6010,7 @@ defines.GC_COMPACT_THRESH = 'BLOCK_SIZE/2' in = 'lfs.c' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -6240,7 +6240,7 @@ defines.SIZE = 'FILE_BUFFER_SIZE/2' defines.ORPHANS = [0, 1, 2, 3, 100] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -6327,7 +6327,7 @@ code = ''' // we should have cleaned up all grms/orphans assert(lfs.grm.mids[0] == -1); assert(lfs.grm.mids[1] == -1); - assert(!(lfs.flags & LFS_F_ORPHANS)); + assert(!(lfs.flags & LFS_I_ORPHANS)); // which means there shouldn't be that many files left assert((lfs.mtree.u.weight & 0x7fffffff) <= (2 << lfs.mdir_bits)); @@ -6377,7 +6377,7 @@ defines.SIZE = 'FILE_BUFFER_SIZE/2' defines.ORPHANS = [0, 1, 2, 3, 100] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -6466,7 +6466,7 @@ code = ''' assert(lfs.grm.mids[1] == -1); // if we introduce actual orphans, me _must not_ clear the orphan flag if (ORPHANS >= 3) { - assert(lfs.flags & LFS_F_ORPHANS); + assert(lfs.flags & LFS_I_ORPHANS); } // if we introduced actual orphans, we _must_ be marked as inconsistent @@ -6517,7 +6517,7 @@ defines.SIZE = '2*FRAGMENT_SIZE' defines.ORPHANS = [0, 1, 2, 3, 100] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -6618,7 +6618,7 @@ code = ''' // we should have cleaned up all grms/orphans assert(lfs.grm.mids[0] == -1); assert(lfs.grm.mids[1] == -1); - assert(!(lfs.flags & LFS_F_ORPHANS)); + assert(!(lfs.flags & LFS_I_ORPHANS)); // which means there shouldn't be that many files left assert((lfs.mtree.u.weight & 0x7fffffff) <= (2 << lfs.mdir_bits)); @@ -6672,7 +6672,7 @@ defines.SIZE = '2*FRAGMENT_SIZE' defines.ORPHANS = [0, 1, 2, 3, 100] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -6771,7 +6771,7 @@ code = ''' // we should have cleaned up all grms/orphans assert(lfs.grm.mids[0] == -1); assert(lfs.grm.mids[1] == -1); - assert(!(lfs.flags & LFS_F_ORPHANS)); + assert(!(lfs.flags & LFS_I_ORPHANS)); // which means there shouldn't be that many files left assert((lfs.mtree.u.weight & 0x7fffffff) <= (2 << lfs.mdir_bits)); @@ -6826,7 +6826,7 @@ defines.SIZE = 'BLOCK_SIZE' defines.ORPHANS = [0, 1, 2, 3, 100] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -6935,7 +6935,7 @@ code = ''' // we should have cleaned up all grms/orphans assert(lfs.grm.mids[0] == -1); assert(lfs.grm.mids[1] == -1); - assert(!(lfs.flags & LFS_F_ORPHANS)); + assert(!(lfs.flags & LFS_I_ORPHANS)); // which means there shouldn't be that many files left assert((lfs.mtree.u.weight & 0x7fffffff) <= (2 << lfs.mdir_bits)); @@ -6990,7 +6990,7 @@ defines.SIZE = 'BLOCK_SIZE' defines.ORPHANS = [0, 1, 2, 3, 100] code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -7097,7 +7097,7 @@ code = ''' // we should have cleaned up all grms/orphans assert(lfs.grm.mids[0] == -1); assert(lfs.grm.mids[1] == -1); - assert(!(lfs.flags & LFS_F_ORPHANS)); + assert(!(lfs.flags & LFS_I_ORPHANS)); // which means there shouldn't be that many files left assert((lfs.mtree.u.weight & 0x7fffffff) <= (2 << lfs.mdir_bits)); @@ -7149,7 +7149,7 @@ defines.ORPHANS = [0, 1, 2, 3, 100] defines.GC_COMPACT_THRESH = 'BLOCK_SIZE/2' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -7257,7 +7257,7 @@ code = ''' // we should have cleaned up all grms/orphans assert(lfs.grm.mids[0] == -1); assert(lfs.grm.mids[1] == -1); - assert(!(lfs.flags & LFS_F_ORPHANS)); + assert(!(lfs.flags & LFS_I_ORPHANS)); // which means there shouldn't be that many files left assert((lfs.mtree.u.weight & 0x7fffffff) <= (2 << lfs.mdir_bits)); @@ -7334,7 +7334,7 @@ defines.ORPHANS = [0, 1, 2, 3, 100] defines.GC_COMPACT_THRESH = 'BLOCK_SIZE/2' code = ''' lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; uint32_t prng = 42; @@ -7445,7 +7445,7 @@ code = ''' assert(lfs.grm.mids[1] == -1); // if we introduce actual orphans, me _must not_ clear the orphan flag if (ORPHANS >= 3) { - assert(lfs.flags & LFS_F_ORPHANS); + assert(lfs.flags & LFS_I_ORPHANS); } // mdirs should have been compacted @@ -7510,7 +7510,7 @@ defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256] code = ''' // test creating directories lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // open a traversal @@ -7623,7 +7623,7 @@ fuzz = 'SEED' code = ''' // test fuzz with dirs lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // set up a simulation to compare against @@ -7811,7 +7811,7 @@ if = '(SIZE*N)/BLOCK_SIZE <= 32' code = ''' // test creating files lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // open a traversal @@ -7918,7 +7918,7 @@ if = '(SIZE*N)/BLOCK_SIZE <= 16' code = ''' // test fuzz with files lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // set up a simulation to compare against @@ -8170,7 +8170,7 @@ if = [ code = ''' // test with complex file writes lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // create a file @@ -8324,7 +8324,7 @@ if = '(SIZE*N)/BLOCK_SIZE <= 16' code = ''' // test with orphans, zombies, etc lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // set up a simulation to compare against @@ -8695,7 +8695,7 @@ if = '(SIZE*N)/BLOCK_SIZE <= 16' code = ''' // test with orphans, zombies, dirs, etc lfs_t lfs; - lfsr_format(&lfs, CFG) => 0; + lfsr_format(&lfs, LFS_F_RDWR, CFG) => 0; lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; // set up a simulation to compare against