From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56435) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fdVHp-0002Hz-9M for qemu-devel@nongnu.org; Thu, 12 Jul 2018 02:41:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fdVHo-0005rP-BE for qemu-devel@nongnu.org; Thu, 12 Jul 2018 02:41:09 -0400 From: Markus Armbruster References: <20180704150256.408d4a07.cohuck@redhat.com> <20180704133440.GE4334@localhost.localdomain> <20180706131103.4e713911.cohuck@redhat.com> <20180706145645.GB3939@localhost.localdomain> <20180709072953.GE7755@andariel.pipo.sk> <87k1q3ljgs.fsf@dusky.pond.sub.org> <20180710162208.7b1b5cdc.cohuck@redhat.com> <20180710143931.GQ1148@andariel.pipo.sk> <20180710170122.427ce3a4.cohuck@redhat.com> <20180710152406.GS1148@andariel.pipo.sk> <28ef476f-7811-91ef-6c77-515f07235e7a@redhat.com> Date: Thu, 12 Jul 2018 08:40:57 +0200 In-Reply-To: <28ef476f-7811-91ef-6c77-515f07235e7a@redhat.com> (Thomas Huth's message of "Wed, 11 Jul 2018 08:53:20 +0200") Message-ID: <87wou1ez2e.fsf@dusky.pond.sub.org> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Qemu-devel] [libvirt] [PULL 25/26] block: Remove deprecated -drive option serial List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Thomas Huth Cc: Peter Krempa , Cornelia Huck , Kevin Wolf , Peter Maydell , Boris Fiuczynski , Qemu-block , Libvirt , Markus Armbruster , QEMU Developers , Christian Borntraeger Thomas Huth writes: > On 10.07.2018 17:24, Peter Krempa wrote: >> On Tue, Jul 10, 2018 at 17:01:22 +0200, Cornelia Huck wrote: >>> On Tue, 10 Jul 2018 16:39:31 +0200 >>> Peter Krempa wrote: >>>> On Tue, Jul 10, 2018 at 16:22:08 +0200, Cornelia Huck wrote: >>>>> On Tue, 10 Jul 2018 07:59:15 +0200 >>>>> Markus Armbruster wrote: >> >> [...] >> >>>>> "ERROR: 'old_option' is deprecated and will be removed; use 'modern_option' instead" >>>>> >>>>> and do an exit(1). >>>>> >>>>> Would that be workable? >>>> >>>> For delivering the warnings via monitor you'll need a store that will >>>> collect all the warnings and prepare them for delivery. You've got >>>> basically two options: >>>> >>>> 1) monitor command to poll for deprecated options >>>> 2) event with deprecated options >>>> >>>> Both require storing them since libvirt connects to the monitor only >>>> after the command line is processed. >>>> >>>> Warnings printed to stderr are nearly useless because until something >>>> breaks nobody bothers to read the log files. >>> >>> So, from that I gather that a hard failure would be the easiest for >>> libvirt to detect (and everything else would become complicated really >>> quickly), right? >> >> People start complaining only when stuff breaks. If anything is optional >> people will usually not enable it. That makes any non-mandatory option >> not work in most cases. > > So would it help if we "invert" the logic, i.e. deprecated_report() > would do exit(1) by default? Then, if the (human) users still want to > continue with the deprecated option, they have to add a > "--ignore-deprecation" command line switch to make QEMU start > successfully... You owe the God of Backward Compatibility one rubber chicken for thinking this heretic thought!