remove previous block_count detection from lfs_format

This commit is contained in:
Brian Pugh 2023-08-20 14:10:12 -07:00
parent d6098bd3ce
commit 23089d5758
2 changed files with 1 additions and 37 deletions

15
lfs.c
View File

@ -4416,20 +4416,7 @@ static int lfs_rawformat(lfs_t *lfs, const struct lfs_config *cfg) {
return err;
}
if (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;
}
}
LFS_ASSERT(cfg->block_count != 0);
// create free lookahead
memset(lfs->free.buffer, 0, lfs->cfg->lookahead_size);

View File

@ -5,29 +5,6 @@ code = '''
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
[cases.test_superblocks_mount]
code = '''