Compare commits

..

1 Commits

Author SHA1 Message Date
Shiven Gupta
87a2cb0e41 Fix assert 2020-08-18 17:36:14 -04:00
2 changed files with 4 additions and 8 deletions

View File

@@ -207,7 +207,7 @@ int lfs_testbd_prog(const struct lfs_config *cfg, lfs_block_t block,
bd->power_cycles -= 1; bd->power_cycles -= 1;
if (bd->power_cycles == 0) { if (bd->power_cycles == 0) {
// sync to make sure we persist the last changes // sync to make sure we persist the last changes
assert(lfs_testbd_rawsync(cfg) == 0); LFS_ASSERT(lfs_testbd_rawsync(cfg) == 0);
// simulate power loss // simulate power loss
exit(33); exit(33);
} }
@@ -254,7 +254,7 @@ int lfs_testbd_erase(const struct lfs_config *cfg, lfs_block_t block) {
bd->power_cycles -= 1; bd->power_cycles -= 1;
if (bd->power_cycles == 0) { if (bd->power_cycles == 0) {
// sync to make sure we persist the last changes // sync to make sure we persist the last changes
assert(lfs_testbd_rawsync(cfg) == 0); LFS_ASSERT(lfs_testbd_rawsync(cfg) == 0);
// simulate power loss // simulate power loss
exit(33); exit(33);
} }

8
lfs.c
View File

@@ -1375,12 +1375,8 @@ static int lfs_dir_alloc(lfs_t *lfs, lfs_mdir_t *dir) {
return err; return err;
} }
// to make sure we don't immediately evict, align the new revision count // make sure we don't immediately evict
// to our block_cycles modulus, see lfs_dir_compact for why our modulus dir->rev += dir->rev & 1;
// is tweaked this way
if (lfs->cfg->block_cycles > 0) {
dir->rev = lfs_alignup(dir->rev, ((lfs->cfg->block_cycles+1)|1));
}
// set defaults // set defaults
dir->off = sizeof(dir->rev); dir->off = sizeof(dir->rev);