block: Emit modules in bdrv_iterate_format()
Some block drivers may not be loaded yet, but qemu supports them nonetheless. bdrv_iterate_format() should report them, too. Signed-off-by: Max Reitz <mreitz@redhat.com> Message-id: 20161012204907.25941-3-mreitz@redhat.com Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
		
							parent
							
								
									ceff5bd79c
								
							
						
					
					
						commit
						eb0df69f50
					
				
							
								
								
									
										18
									
								
								block.c
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								block.c
									
									
									
									
									
								
							| @ -2822,6 +2822,24 @@ void bdrv_iterate_format(void (*it)(void *opaque, const char *name), | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     for (i = 0; i < (int)ARRAY_SIZE(block_driver_modules); i++) { | ||||
|         const char *format_name = block_driver_modules[i].format_name; | ||||
| 
 | ||||
|         if (format_name) { | ||||
|             bool found = false; | ||||
|             int j = count; | ||||
| 
 | ||||
|             while (formats && j && !found) { | ||||
|                 found = !strcmp(formats[--j], format_name); | ||||
|             } | ||||
| 
 | ||||
|             if (!found) { | ||||
|                 formats = g_renew(const char *, formats, count + 1); | ||||
|                 formats[count++] = format_name; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     qsort(formats, count, sizeof(formats[0]), qsort_strcmp); | ||||
| 
 | ||||
|     for (i = 0; i < count; i++) { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Max Reitz
						Max Reitz