remove previous block_count detection from lfs_format
This commit is contained in:
@@ -4416,20 +4416,7 @@ static int lfs_rawformat(lfs_t *lfs, const struct lfs_config *cfg) {
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cfg->block_count == 0) {
|
LFS_ASSERT(cfg->block_count != 0);
|
||||||
// Attempt to read a (possibly) prior superblock
|
|
||||||
lfs_superblock_t superblock;
|
|
||||||
err = lfs_scan_for_superblock(lfs, &superblock);
|
|
||||||
if (err) {
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
lfs->block_count = superblock.block_count;
|
|
||||||
|
|
||||||
err = lfs_validate_superblock(lfs, &superblock);
|
|
||||||
if (err) {
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// create free lookahead
|
// create free lookahead
|
||||||
memset(lfs->free.buffer, 0, lfs->cfg->lookahead_size);
|
memset(lfs->free.buffer, 0, lfs->cfg->lookahead_size);
|
||||||
|
|||||||
@@ -5,29 +5,6 @@ code = '''
|
|||||||
lfs_format(&lfs, cfg) => 0;
|
lfs_format(&lfs, cfg) => 0;
|
||||||
'''
|
'''
|
||||||
|
|
||||||
# formatting from interpretting a previous superblock block_count
|
|
||||||
[cases.test_superblocks_format_unknown_block_count]
|
|
||||||
code = '''
|
|
||||||
lfs_t lfs;
|
|
||||||
lfs_format(&lfs, cfg) => 0;
|
|
||||||
assert(lfs.block_count == cfg->block_count);
|
|
||||||
|
|
||||||
memset(&lfs, 0, sizeof(lfs));
|
|
||||||
struct lfs_config tweaked_cfg = *cfg;
|
|
||||||
tweaked_cfg.block_count = 0;
|
|
||||||
lfs_format(&lfs, &tweaked_cfg) => 0;
|
|
||||||
assert(lfs.block_count == cfg->block_count);
|
|
||||||
'''
|
|
||||||
|
|
||||||
# formatting from interpretting a non-existent previous superblock block_count
|
|
||||||
[cases.test_superblocks_format_unknown_block_count_failure]
|
|
||||||
code = '''
|
|
||||||
lfs_t lfs;
|
|
||||||
struct lfs_config tweaked_cfg = *cfg;
|
|
||||||
tweaked_cfg.block_count = 0;
|
|
||||||
lfs_format(&lfs, &tweaked_cfg) => LFS_ERR_CORRUPT;
|
|
||||||
'''
|
|
||||||
|
|
||||||
# mount/unmount
|
# mount/unmount
|
||||||
[cases.test_superblocks_mount]
|
[cases.test_superblocks_mount]
|
||||||
code = '''
|
code = '''
|
||||||
|
|||||||
Reference in New Issue
Block a user