From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44453) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fdXXN-0000Vw-J1 for qemu-devel@nongnu.org; Thu, 12 Jul 2018 05:05:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fdXXJ-0003XG-8A for qemu-devel@nongnu.org; Thu, 12 Jul 2018 05:05:21 -0400 Date: Thu, 12 Jul 2018 11:05:01 +0200 From: Kevin Wolf Message-ID: <20180712090501.GC4541@localhost.localdomain> References: <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> <20180710143807.GJ5852@localhost.localdomain> <871sc9gdr2.fsf@dusky.pond.sub.org> <8736wplzff.fsf@dusky.pond.sub.org> <20180712094834.78852622.cohuck@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180712094834.78852622.cohuck@redhat.com> 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: Cornelia Huck Cc: Markus Armbruster , Peter Maydell , Boris Fiuczynski , Qemu-block , Libvirt , QEMU Developers , Christian Borntraeger , Peter Krempa Am 12.07.2018 um 09:48 hat Cornelia Huck geschrieben: > On Thu, 12 Jul 2018 08:51:16 +0200 > Markus Armbruster wrote: > > > Markus Armbruster writes: > > > > > Kevin Wolf writes: > > > > > >> Am 10.07.2018 um 16:22 hat Cornelia Huck geschrieben: > > >>> On Tue, 10 Jul 2018 07:59:15 +0200 > > >>> Markus Armbruster wrote: > > >>> > > >>> > In addition to actively pulling libvirt developers into review of > > >>> > deprecation patches, we should pursue the idea to optionally let QEMU > > >>> > fail on use of deprecated features, then have libvirt run its test suite > > >>> > that way. > > >>> > > >>> What about the following: > > >>> > > >>> qemu_deprecated_option("old_option", "modern_option"); > > >>> > > >>> Which would then print (in normal operation) > > >>> > > >>> "WARNING: 'old_option' is deprecated and will be removed; use 'modern_option' instead" > > >>> > > >>> to the monitor (or to stderr? to both?). > > >>> > > >>> If you start QEMU with a -no-deprecated-options switch, it would print > > >>> > > >>> "ERROR: 'old_option' is deprecated and will be removed; use 'modern_option' instead" > > >>> > > >>> and do an exit(1). > > >>> > > >>> Would that be workable? > > >> > > >> I think the function should just take a message: > > >> > > >> /* Works like error_report(), except for the WARNING/ERROR prefix > > >> * and exit(1) if -no-deprecated-options is set */ > > >> void deprecation_report(const char *fmt, ...); > > > > > > I like it. The contract could use a bit of polish, but that's detail. Obviously, this comment wasn't meant to be copied into the source code, but just to explain what I'm actually proposing there. > > Suggest --deprecated={silent,warn,error}, default silent. > > I like that, but I'd prefer to default to warn (so that command line > users have a better chance to notice it). I agree that warn is the better default. (It's also consistent with what we have been doing for deprecations so far.) Kevin