mirror of
https://github.com/littlefs-project/littlefs.git
synced 2025-11-16 12:34:34 +00:00
Remove inline_files_max and lfs_t entry for metadata_max
This commit is contained in:
25
lfs.c
25
lfs.c
@@ -1589,7 +1589,8 @@ static int lfs_dir_compact(lfs_t *lfs,
|
|||||||
// for metadata updates.
|
// for metadata updates.
|
||||||
if (end - begin < 0xff &&
|
if (end - begin < 0xff &&
|
||||||
size <= lfs_min(lfs->cfg->block_size - 36,
|
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))) {
|
lfs->cfg->prog_size))) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1674,7 +1675,8 @@ static int lfs_dir_compact(lfs_t *lfs,
|
|||||||
.crc = 0xffffffff,
|
.crc = 0xffffffff,
|
||||||
|
|
||||||
.begin = 0,
|
.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
|
// erase block to write to
|
||||||
@@ -1884,7 +1886,8 @@ static int lfs_dir_commit(lfs_t *lfs, lfs_mdir_t *dir,
|
|||||||
.crc = 0xffffffff,
|
.crc = 0xffffffff,
|
||||||
|
|
||||||
.begin = dir->off,
|
.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
|
// 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) &&
|
if ((file->flags & LFS_F_INLINE) &&
|
||||||
lfs_max(file->pos+nsize, file->ctz.size) >
|
lfs_max(file->pos+nsize, file->ctz.size) >
|
||||||
lfs_min(0x3fe, lfs_min(
|
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
|
// inline file doesn't fit anymore
|
||||||
int err = lfs_file_outline(lfs, file);
|
int err = lfs_file_outline(lfs, file);
|
||||||
if (err) {
|
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_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
|
// setup default state
|
||||||
lfs->root[0] = LFS_BLOCK_NULL;
|
lfs->root[0] = LFS_BLOCK_NULL;
|
||||||
|
|||||||
10
lfs.h
10
lfs.h
@@ -262,14 +262,6 @@ struct lfs_config {
|
|||||||
// can help bound the metadata compaction time. Must be <= block_size.
|
// can help bound the metadata compaction time. Must be <= block_size.
|
||||||
// Defaults to block_size when zero.
|
// Defaults to block_size when zero.
|
||||||
lfs_size_t metadata_max;
|
lfs_size_t metadata_max;
|
||||||
|
|
||||||
// Optional upper limit on inline files in bytes. On devices with large
|
|
||||||
// blocks (e.g. 128kB) setting this to a low size or disabling inline files
|
|
||||||
// can help bound file read overhead. Must be <= LFS_FILE_MAX. Defaults to
|
|
||||||
// block_size/8 when zero.
|
|
||||||
//
|
|
||||||
// Set to -1 to disable inline files.
|
|
||||||
lfs_ssize_t inline_file_max;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// File info structure
|
// File info structure
|
||||||
@@ -420,8 +412,6 @@ typedef struct lfs {
|
|||||||
lfs_size_t name_max;
|
lfs_size_t name_max;
|
||||||
lfs_size_t file_max;
|
lfs_size_t file_max;
|
||||||
lfs_size_t attr_max;
|
lfs_size_t attr_max;
|
||||||
lfs_size_t metadata_max;
|
|
||||||
lfs_ssize_t inline_file_max;
|
|
||||||
|
|
||||||
#ifdef LFS_MIGRATE
|
#ifdef LFS_MIGRATE
|
||||||
struct lfs1 *lfs1;
|
struct lfs1 *lfs1;
|
||||||
|
|||||||
Reference in New Issue
Block a user