On Tue, 2 Apr 2019 at 23:13, Markus Armbruster <arm...@redhat.com> wrote: > > Igor Mammedov <imamm...@redhat.com> writes: > > maybe we can assert in qdev_get_machine() if machine hasn't been created > > yet? > > with this at least it will be hard to misuse function or catch invalid > > users. > > (but it still might miss some use cases/CLI options which are not tested) > > Good idea. When my code created "/machine" as a container, debugging > the resulting crash took me a bit of time. The assertion you propose > would've saved me some.
One wrinkle to watch out for is code paths that are used in the linux-user emulator, where there is no machine at all... For instance cpu_common_realizefn() handles this case by explicitly checking whether the thing it gets back from qdev_get_machine() is a TYPE_MACHINE or not. thanks -- PMM