mirror of
				https://github.com/eledio-devices/thirdparty-littlefs.git
				synced 2025-10-31 08:42:40 +01: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