mirror of
				https://github.com/eledio-devices/thirdparty-littlefs.git
				synced 2025-10-31 00:32:38 +01:00 
			
		
		
		
	Merge pull request #233 from ARMmbed/discourage-no-wear-leveling
Change block_cycles disable from 0 to -1
This commit is contained in:
		
							
								
								
									
										12
									
								
								lfs.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								lfs.c
									
									
									
									
									
								
							| @@ -1468,7 +1468,7 @@ static int lfs_dir_compact(lfs_t *lfs, | ||||
|  | ||||
|     // increment revision count | ||||
|     dir->rev += 1; | ||||
|     if (lfs->cfg->block_cycles && | ||||
|     if (lfs->cfg->block_cycles > 0 && | ||||
|             (dir->rev % (lfs->cfg->block_cycles+1) == 0)) { | ||||
|         if (lfs_pair_cmp(dir->pair, (const lfs_block_t[2]){0, 1}) == 0) { | ||||
|             // oh no! we're writing too much to the superblock, | ||||
| @@ -3226,8 +3226,14 @@ static int lfs_init(lfs_t *lfs, const struct lfs_config *cfg) { | ||||
|     LFS_ASSERT(4*lfs_npw2(0xffffffff / (lfs->cfg->block_size-2*4)) | ||||
|             <= lfs->cfg->block_size); | ||||
|  | ||||
|     // we don't support some corner cases | ||||
|     LFS_ASSERT(lfs->cfg->block_cycles < 0xffffffff); | ||||
|     // block_cycles = 0 is no longer supported. | ||||
|     // | ||||
|     // block_cycles is the number of erase cycles before littlefs evicts | ||||
|     // metadata logs as a part of wear leveling. Suggested values are in the | ||||
|     // range of 100-1000, or set block_cycles to -1 to disable block-level | ||||
|     // wear-leveling. | ||||
|     LFS_ASSERT(lfs->cfg->block_cycles != 0); | ||||
|  | ||||
|  | ||||
|     // setup read cache | ||||
|     if (lfs->cfg->read_buffer) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user