From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50585) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XMF0A-0005wd-HQ for qemu-devel@nongnu.org; Tue, 26 Aug 2014 07:33:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XMF04-0001N9-CP for qemu-devel@nongnu.org; Tue, 26 Aug 2014 07:33:26 -0400 Received: from mx1.redhat.com ([209.132.183.28]:26201) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XMExB-0000fe-09 for qemu-devel@nongnu.org; Tue, 26 Aug 2014 07:30:21 -0400 From: Markus Armbruster References: <1408119832-4354-1-git-send-email-akong@redhat.com> <20140819144720.GA13680@stefanha-thinkpad.redhat.com> Date: Tue, 26 Aug 2014 13:30:14 +0200 In-Reply-To: <20140819144720.GA13680@stefanha-thinkpad.redhat.com> (Stefan Hajnoczi's message of "Tue, 19 Aug 2014 15:47:20 +0100") Message-ID: <87fvgja3p5.fsf@blackfin.pond.sub.org> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Qemu-devel] [PATCH] Revert "virtio_rng: replace custom backend API with UserCreatable.complete() callback" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: qemu-devel@nongnu.org, lcapitulino@redhat.com, aliguori@amazon.com, imammedo@redhat.com, Amos Kong , afaerber@suse.de Stefan Hajnoczi writes: > On Sat, Aug 16, 2014 at 12:23:52AM +0800, Amos Kong wrote: >> This reverts commit 57d3e1b3f52d07d215ed96df946ee01f8d9f9526. >> >> The commit introduced a regression bug, the initialization order of virtio-rng >> backend was changed. >> >> # x86_64-softmmu/qemu-system-x86_64 -monitor stdio -vnc :0 \ >> -chardev socket,host=localhost,port=1024,id=chr0 \ >> -object rng-egd,chardev=chr0,id=rng0 >> >> qemu-system-x86_64: -object rng-egd,chardev=chr0,id=rng0: Device 'chr0' not found >> >> Chardev 'chr0' isn't initialized when we try to open rng backend, > > More detail: > The problem is that vl.c:main() calls object_create() on -object before > -chardev options are processed. Moving the object_create() call after > chardev is arbitrary and does not work if a chardev depends on an > -object. > > It would have been nice to process command-line options in left-to-right > order instead of grouping them by option type. I doubt we can change > this now since it would break the command-line. In my private opinion, our command line could really use a thorough breaking. [...]