On 13.01.2016 04:13, Jason Wang wrote: > > > On 01/13/2016 10:58 AM, Jason Wang wrote: >> >> On 01/12/2016 07:45 PM, Cleber Rosa wrote: >>> ----- Original Message ----- >>>> From: "Thomas Huth" <th...@redhat.com> >>>> To: "Jason Wang" <jasow...@redhat.com>, "Jan Kiszka" >>>> <jan.kis...@siemens.com>, qemu-devel@nongnu.org >>>> Cc: "Paolo Bonzini" <pbonz...@redhat.com>, avocado-de...@redhat.com, >>>> "Markus Armbruster" <arm...@redhat.com> >>>> Sent: Tuesday, January 12, 2016 5:26:36 AM >>>> Subject: Re: [Qemu-devel] [PATCH] net/slirp: Tell the users when they are >>>> using deprecated options >>>> >>>> On 12.01.2016 04:42, Jason Wang wrote: >>>>> On 01/11/2016 11:55 PM, Thomas Huth wrote: >>>>>> On 15.12.2015 09:35, Thomas Huth wrote: >>>>>>> We don't want to support the legacy -tftp, -bootp, -smb and >>>>>>> -net channel options forever. So let's start telling the users >>>>>>> that they will go away in a future version. >>>>>>> >>>>>>> Signed-off-by: Thomas Huth <th...@redhat.com> >>>>>>> --- >>>>>>> net/slirp.c | 3 +++ >>>>>>> os-posix.c | 3 +++ >>>>>>> vl.c | 6 ++++++ >>>>>>> 3 files changed, 12 insertions(+) >>>>>>> >>>>>>> diff --git a/net/slirp.c b/net/slirp.c >>>>>>> index f505570..65e3766 100644 >>>>>>> --- a/net/slirp.c >>>>>>> +++ b/net/slirp.c >>>>>>> @@ -784,6 +784,9 @@ int net_slirp_parse_legacy(QemuOptsList *opts_list, >>>>>>> const char *optarg, int *ret >>>>>>> return 0; >>>>>>> } >>>>>>> >>>>>>> + error_report("The -net channel option is deprecated and " >>>>>>> + "will be removed in a future version."); >>>>>>> + >>>>>>> /* handle legacy -net channel,port:chr */ >>>>>>> optarg += strlen("channel,"); >>>>>>> >>>>>>> diff --git a/os-posix.c b/os-posix.c >>>>>>> index e4da406..3f62f7c 100644 >>>>>>> --- a/os-posix.c >>>>>>> +++ b/os-posix.c >>>>>>> @@ -40,6 +40,7 @@ >>>>>>> #include "net/slirp.h" >>>>>>> #include "qemu-options.h" >>>>>>> #include "qemu/rcu.h" >>>>>>> +#include "qemu/error-report.h" >>>>>>> >>>>>>> #ifdef CONFIG_LINUX >>>>>>> #include <sys/prctl.h> >>>>>>> @@ -139,6 +140,8 @@ void os_parse_cmd_args(int index, const char >>>>>>> *optarg) >>>>>>> switch (index) { >>>>>>> #ifdef CONFIG_SLIRP >>>>>>> case QEMU_OPTION_smb: >>>>>>> + error_report("The -smb option is deprecated and " >>>>>>> + "will be removed in a future version."); >>>>>>> if (net_slirp_smb(optarg) < 0) >>>>>>> exit(1); >>>>>>> break; >>>>>>> diff --git a/vl.c b/vl.c >>>>>>> index 4211ff1..fa829c0 100644 >>>>>>> --- a/vl.c >>>>>>> +++ b/vl.c >>>>>>> @@ -3314,12 +3314,18 @@ int main(int argc, char **argv, char **envp) >>>>>>> #endif >>>>>>> #ifdef CONFIG_SLIRP >>>>>>> case QEMU_OPTION_tftp: >>>>>>> + error_report("The -tftp option is deprecated and " >>>>>>> + "will be removed in a future version."); >>>>>>> legacy_tftp_prefix = optarg; >>>>>>> break; >>>>>>> case QEMU_OPTION_bootp: >>>>>>> + error_report("The -bootp option is deprecated and " >>>>>>> + "will be removed in a future version."); >>>>>>> legacy_bootp_filename = optarg; >>>>>>> break; >>>>>>> case QEMU_OPTION_redir: >>>>>>> + error_report("The -redir option is deprecated and " >>>>>>> + "will be removed in a future version."); >>>>>>> if (net_slirp_redir(optarg) < 0) >>>>>>> exit(1); >>>>>>> break; >>>>>> *ping* >>>>>> >>>>>> Any comments on these old options? I hope Paolo does not want to keep >>>>>> them, too, forever ;-) >>>>> I vaguely remember autotest use those options in the past for guest os >>>>> installation. May need input from autotest guys. >>>> Looking at >>>> >>>> https://github.com/avocado-framework/avocado-vt/blob/master/virttest/qemu_vm.py >>>> it seems like that latest incarnation of autotest is doing it >>>> right already: >>>> ... >>>> def add_tftp(devices, filename): >>>> # If the new syntax is supported, don't add -tftp >>>> if "[,tftp=" in devices.get_help_text(): >>>> return "" >>>> else: >>>> return " -tftp '%s'" % filename >>>> ... >>>> def add_net(devices, vlan, nettype, ifname=None, tftp=None, >>>> bootfile=None, hostfwd=[], netdev_id=None, >>>> netdev_extra_params=None, tapfds=None, script=None, >>>> downscript=None, vhost=None, queues=None, >>>> vhostfds=None, >>>> add_queues=None, helper=None, add_tapfd=None, >>>> add_vhostfd=None, vhostforce=None): >>>> ... >>>> elif mode == "user": >>>> if tftp and "[,tftp=" in devices.get_help_text(): >>>> cmd += ",tftp='%s'" % tftp >>>> cmd_nd = cmd >>>> ... etc ... >>>> >>>> So I think that avocado should be fine already. >>> It should. >>> >>> Avocado-VT can usually handle whatever version of QEMU is thrown at it >>> because it usually checks for specific features and command syntax. >>> >>> So, if a feature is removed and Avocado-VT is not handling that properly, >>> then it's a bug on "our" side. >>> >>> Cleber. >> Sounds very cool. >> >> Apply this to my -net. >> >> Thanks everyone. > > Rethinking about this. I'm not quite sure we can remove those > especially "-net user". Google qemu "-net user" gives about 15,900 > results (and the first link is qemu wiki). Maybe we can replace "will be > removed in a future version." with something like "was suggested to use > -netdev user,XXX" instead?
This patch was not about removing "-net user", only about removing the standalone options "-tftp", "-smb", "-bootp", "-redir" and "-net channel" which have equivalents with "-netdev user,..." (or "-netd user,..."). Anyway, since Paolo requested to rework this patch to include hints for what should be used instead (which is a good idea), I'm going to rewrite my patch, so please stay tuned for a new version. Thomas