Remove inline_files_max and lfs_t entry for metadata_max

This commit is contained in:
Will
2020-12-18 13:05:20 +10:00
parent 6b16dafb4d
commit 37f4de2976
2 changed files with 9 additions and 26 deletions

25
lfs.c
View File

@@ -1589,7 +1589,8 @@ static int lfs_dir_compact(lfs_t *lfs,
// for metadata updates.
if (end - begin < 0xff &&
size <= lfs_min(lfs->cfg->block_size - 36,
lfs_alignup(lfs->metadata_max/2,
lfs_alignup((lfs->cfg->metadata_max ?
lfs->cfg->metadata_max : lfs->cfg->block_size)/2,
lfs->cfg->prog_size))) {
break;
}
@@ -1674,7 +1675,8 @@ static int lfs_dir_compact(lfs_t *lfs,
.crc = 0xffffffff,
.begin = 0,
.end = lfs->metadata_max - 8,
.end = (lfs->cfg->metadata_max ?
lfs->cfg->metadata_max : lfs->cfg->block_size) - 8,
};
// erase block to write to
@@ -1884,7 +1886,8 @@ static int lfs_dir_commit(lfs_t *lfs, lfs_mdir_t *dir,
.crc = 0xffffffff,
.begin = dir->off,
.end = lfs->metadata_max - 8,
.end = (lfs->cfg->metadata_max ?
lfs->cfg->metadata_max : lfs->cfg->block_size) - 8,
};
// traverse attrs that need to be written out
@@ -2966,7 +2969,9 @@ static lfs_ssize_t lfs_file_rawwrite(lfs_t *lfs, lfs_file_t *file,
if ((file->flags & LFS_F_INLINE) &&
lfs_max(file->pos+nsize, file->ctz.size) >
lfs_min(0x3fe, lfs_min(
lfs->cfg->cache_size, lfs->inline_file_max))) {
lfs->cfg->cache_size,
(lfs->cfg->metadata_max ?
lfs->cfg->metadata_max : lfs->cfg->block_size) / 8))) {
// inline file doesn't fit anymore
int err = lfs_file_outline(lfs, file);
if (err) {
@@ -3537,18 +3542,6 @@ static int lfs_init(lfs_t *lfs, const struct lfs_config *cfg) {
}
LFS_ASSERT(lfs->cfg->metadata_max <= lfs->cfg->block_size);
lfs->metadata_max = lfs->cfg->metadata_max;
if (!lfs->metadata_max) {
lfs->metadata_max = lfs->cfg->block_size;
}
LFS_ASSERT(lfs->cfg->inline_file_max <= LFS_FILE_MAX);
lfs->inline_file_max = lfs->cfg->inline_file_max;
if (!lfs->inline_file_max) {
lfs->inline_file_max = lfs->cfg->block_size / 8;
} else if(lfs->inline_file_max == -1) {
lfs->inline_file_max = 0;
}
// setup default state
lfs->root[0] = LFS_BLOCK_NULL;