Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start
follow the same algorithm to avoid method mismatch. Don't assume DMRAID- UUID to mean full disk but instead check that mapping is linear.
This commit is contained in:
		
							parent
							
								
									da98622662
								
							
						
					
					
						commit
						e88f0420b9
					
				
					 6 changed files with 35 additions and 127 deletions
				
			
		|  | @ -77,10 +77,15 @@ | |||
| grub_disk_addr_t | ||||
| grub_util_find_partition_start (const char *dev) | ||||
| { | ||||
| #if GRUB_UTIL_FD_STAT_IS_FUNCTIONAL | ||||
|   struct stat st; | ||||
|   grub_disk_addr_t partition_start; | ||||
|   if (grub_util_device_is_mapped (dev) | ||||
|       && grub_util_get_dm_node_linear_info (dev, 0, 0, &partition_start)) | ||||
| 
 | ||||
|   if (stat (dev, &st) >= 0 | ||||
|       && grub_util_device_is_mapped_stat (&st) | ||||
|       && grub_util_get_dm_node_linear_info (st.st_rdev, 0, 0, &partition_start)) | ||||
|     return partition_start; | ||||
| #endif | ||||
| 
 | ||||
|   return grub_util_find_partition_start_os (dev); | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue