blockdev: Print a warning for legacy drive options that belong to -device
We likely do not want to carry these legacy -drive options along forever. Let's emit a deprecation warning for the -drive options that have a replacement with the -device option, so that the (hopefully few) remaining users are aware of this and can adapt their scripts / behaviour accordingly. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
		
							parent
							
								
									6b4df54833
								
							
						
					
					
						commit
						c616f16e0c
					
				
							
								
								
									
										14
									
								
								blockdev.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								blockdev.c
									
									
									
									
									
								
							| @ -50,6 +50,7 @@ | ||||
| #include "qmp-commands.h" | ||||
| #include "block/trace.h" | ||||
| #include "sysemu/arch_init.h" | ||||
| #include "sysemu/qtest.h" | ||||
| #include "qemu/cutils.h" | ||||
| #include "qemu/help_option.h" | ||||
| #include "qemu/throttle-options.h" | ||||
| @ -798,6 +799,9 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type) | ||||
|     const char *filename; | ||||
|     Error *local_err = NULL; | ||||
|     int i; | ||||
|     const char *deprecated[] = { | ||||
|         "serial", "trans", "secs", "heads", "cyls", "addr" | ||||
|     }; | ||||
| 
 | ||||
|     /* Change legacy command line options into QMP ones */ | ||||
|     static const struct { | ||||
| @ -881,6 +885,16 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type) | ||||
|                 "update your scripts.\n"); | ||||
|     } | ||||
| 
 | ||||
|     /* Other deprecated options */ | ||||
|     if (!qtest_enabled()) { | ||||
|         for (i = 0; i < ARRAY_SIZE(deprecated); i++) { | ||||
|             if (qemu_opt_get(legacy_opts, deprecated[i]) != NULL) { | ||||
|                 error_report("'%s' is deprecated, please use the corresponding " | ||||
|                              "option of '-device' instead", deprecated[i]); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     /* Media type */ | ||||
|     value = qemu_opt_get(legacy_opts, "media"); | ||||
|     if (value) { | ||||
|  | ||||
| @ -818,6 +818,8 @@ of available connectors of a given interface type. | ||||
| This option defines the type of the media: disk or cdrom. | ||||
| @item cyls=@var{c},heads=@var{h},secs=@var{s}[,trans=@var{t}] | ||||
| These options have the same definition as they have in @option{-hdachs}. | ||||
| These parameters are deprecated, use the corresponding parameters | ||||
| of @code{-device} instead. | ||||
| @item snapshot=@var{snapshot} | ||||
| @var{snapshot} is "on" or "off" and controls snapshot mode for the given drive | ||||
| (see @option{-snapshot}). | ||||
| @ -852,9 +854,12 @@ Specify which disk @var{format} will be used rather than detecting | ||||
| the format.  Can be used to specify format=raw to avoid interpreting | ||||
| an untrusted format header. | ||||
| @item serial=@var{serial} | ||||
| This option specifies the serial number to assign to the device. | ||||
| This option specifies the serial number to assign to the device. This | ||||
| parameter is deprecated, use the corresponding parameter of @code{-device} | ||||
| instead. | ||||
| @item addr=@var{addr} | ||||
| Specify the controller's PCI address (if=virtio only). | ||||
| Specify the controller's PCI address (if=virtio only). This parameter is | ||||
| deprecated, use the corresponding parameter of @code{-device} instead. | ||||
| @item werror=@var{action},rerror=@var{action} | ||||
| Specify which @var{action} to take on write and read errors. Valid actions are: | ||||
| "ignore" (ignore the error and try to continue), "stop" (pause QEMU), | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Thomas Huth
						Thomas Huth