mirror of
				https://github.com/eledio-devices/thirdparty-littlefs.git
				synced 2025-10-31 08:42:40 +01:00 
			
		
		
		
	Fail mount when the block size changes
When the on-disk block size doesn't match the config block size, it is possible to get file corruption. For instance, if the num blocks was 0x200 and we re-mount with 0x100 files could be corrupt. If we re-mount with a larger number of blocks things should be safer, but could be handled with a resize option or perhaps a mount flag to ignore this parameter.
This commit is contained in:
		
							
								
								
									
										6
									
								
								lfs.c
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								lfs.c
									
									
									
									
									
								
							| @@ -3761,6 +3761,12 @@ static int lfs_rawmount(lfs_t *lfs, const struct lfs_config *cfg) { | |||||||
|  |  | ||||||
|                 lfs->attr_max = superblock.attr_max; |                 lfs->attr_max = superblock.attr_max; | ||||||
|             } |             } | ||||||
|  |  | ||||||
|  |             if (superblock.block_count != lfs->cfg->block_count) | ||||||
|  |             { | ||||||
|  |                 err = LFS_ERR_CORRUPT; | ||||||
|  |                 goto cleanup; | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         // has gstate? |         // has gstate? | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user