env: ext4: introduce new function env_ext4_save_buffer
Split the function env_ext4_save to prepare the erase support. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
This commit is contained in:
		
							parent
							
								
									ad04576b27
								
							
						
					
					
						commit
						f6de047e02
					
				|  | @ -44,9 +44,8 @@ __weak const char *env_ext4_get_dev_part(void) | ||||||
| 	return (const char *)CONFIG_ENV_EXT4_DEVICE_AND_PART; | 	return (const char *)CONFIG_ENV_EXT4_DEVICE_AND_PART; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int env_ext4_save(void) | static int env_ext4_save_buffer(env_t *env_new) | ||||||
| { | { | ||||||
| 	env_t	env_new; |  | ||||||
| 	struct blk_desc *dev_desc = NULL; | 	struct blk_desc *dev_desc = NULL; | ||||||
| 	struct disk_partition info; | 	struct disk_partition info; | ||||||
| 	int dev, part; | 	int dev, part; | ||||||
|  | @ -54,10 +53,6 @@ static int env_ext4_save(void) | ||||||
| 	const char *ifname = env_ext4_get_intf(); | 	const char *ifname = env_ext4_get_intf(); | ||||||
| 	const char *dev_and_part = env_ext4_get_dev_part(); | 	const char *dev_and_part = env_ext4_get_dev_part(); | ||||||
| 
 | 
 | ||||||
| 	err = env_export(&env_new); |  | ||||||
| 	if (err) |  | ||||||
| 		return err; |  | ||||||
| 
 |  | ||||||
| 	part = blk_get_device_part_str(ifname, dev_and_part, | 	part = blk_get_device_part_str(ifname, dev_and_part, | ||||||
| 				       &dev_desc, &info, 1); | 				       &dev_desc, &info, 1); | ||||||
| 	if (part < 0) | 	if (part < 0) | ||||||
|  | @ -72,7 +67,7 @@ static int env_ext4_save(void) | ||||||
| 		return 1; | 		return 1; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	err = ext4fs_write(CONFIG_ENV_EXT4_FILE, (void *)&env_new, | 	err = ext4fs_write(CONFIG_ENV_EXT4_FILE, (void *)env_new, | ||||||
| 			   sizeof(env_t), FILETYPE_REG); | 			   sizeof(env_t), FILETYPE_REG); | ||||||
| 	ext4fs_close(); | 	ext4fs_close(); | ||||||
| 
 | 
 | ||||||
|  | @ -81,9 +76,26 @@ static int env_ext4_save(void) | ||||||
| 			CONFIG_ENV_EXT4_FILE, ifname, dev, part); | 			CONFIG_ENV_EXT4_FILE, ifname, dev, part); | ||||||
| 		return 1; | 		return 1; | ||||||
| 	} | 	} | ||||||
| 	gd->env_valid = ENV_VALID; |  | ||||||
| 
 | 
 | ||||||
|  | 	return 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static int env_ext4_save(void) | ||||||
|  | { | ||||||
|  | 	env_t env_new; | ||||||
|  | 	int err; | ||||||
|  | 
 | ||||||
|  | 	err = env_export(&env_new); | ||||||
|  | 	if (err) | ||||||
|  | 		return err; | ||||||
|  | 
 | ||||||
|  | 	err = env_ext4_save_buffer(&env_new); | ||||||
|  | 	if (err) | ||||||
|  | 		return err; | ||||||
|  | 
 | ||||||
|  | 	gd->env_valid = ENV_VALID; | ||||||
| 	puts("done\n"); | 	puts("done\n"); | ||||||
|  | 
 | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue