blockdev.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
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.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
blockdev.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/blockdev.c b/blockdev.c
index 4d8cded..87a025a 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -797,6 +797,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"
+ };
/* Change legacy command line options into QMP ones */
static const struct {
@@ -880,6 +883,14 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
"update your scripts.\n");
}
+ /* Other deprecated options */
+ 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) {
--
1.8.3.1
On 10/05/2017 17:50, Thomas Huth wrote: > 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. > > Signed-off-by: Thomas Huth <thuth@redhat.com> > --- > blockdev.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/blockdev.c b/blockdev.c > index 4d8cded..87a025a 100644 > --- a/blockdev.c > +++ b/blockdev.c > @@ -797,6 +797,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" > + }; > > /* Change legacy command line options into QMP ones */ > static const struct { > @@ -880,6 +883,14 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type) > "update your scripts.\n"); > } > > + /* Other deprecated options */ > + 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) { This one should be deprecated too (separate patch if you prefer). Paolo
On 10.05.2017 17:55, Paolo Bonzini wrote: > > > On 10/05/2017 17:50, Thomas Huth wrote: >> 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. >> >> Signed-off-by: Thomas Huth <thuth@redhat.com> >> --- >> blockdev.c | 11 +++++++++++ >> 1 file changed, 11 insertions(+) >> >> diff --git a/blockdev.c b/blockdev.c >> index 4d8cded..87a025a 100644 >> --- a/blockdev.c >> +++ b/blockdev.c >> @@ -797,6 +797,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" >> + }; >> >> /* Change legacy command line options into QMP ones */ >> static const struct { >> @@ -880,6 +883,14 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type) >> "update your scripts.\n"); >> } >> >> + /* Other deprecated options */ >> + 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) { > > This one should be deprecated too (separate patch if you prefer). I tried to add it, but then the deprecation message is always shown. I think this happens because of the default CD-ROM drive is create in vl.c with CDROM_OPTS (that is defined to "media=cdrom"). So no clue how to properly print a deprecation option for "media" here right now (and it should likely be in a separate patch if there is a solution). Thomas
On 10.05.2017 17:50, Thomas Huth wrote: > 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. > > Signed-off-by: Thomas Huth <thuth@redhat.com> > --- > blockdev.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/blockdev.c b/blockdev.c > index 4d8cded..87a025a 100644 > --- a/blockdev.c > +++ b/blockdev.c > @@ -797,6 +797,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" > + }; > > /* Change legacy command line options into QMP ones */ > static const struct { > @@ -880,6 +883,14 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type) > "update your scripts.\n"); > } > > + /* Other deprecated options */ > + 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) { > Self-NAK to this version of the patch ... looks like tests/hd-geo-test is still using these parameters and now spills out these warning messages. Need to clean up the test first... Thomas
© 2016 - 2024 Red Hat, Inc.