Re: [PATCH 1/4] Introduce a new hotplug state: Force eject.

Paolo Bonzini
2012-05-16T11:23:26Z

Il 16/05/2012 13:15, Anthony PERARD ha scritto:
>> >         qdev_unplug(&(d->qdev), NULL);
>> > +        qdev_free(&(d->qdev));
>> >     }
>> >  }
>> >
>> >
>> > Anthony, can you confirm that this solves the problem for you?
> This work until I try to hotplug a new device to the guest at wish
> point I have this:
> ERROR:/local/home/anthony/work/qemu/qom/object.c:389:object_delete:
> assertion failed: (obj->ref == 0)
>
> This is because there is still a pending request of the hotunplug in
> the acpi piix4.
> If I call qdev_free without qdev_unplug, I hit the same assert, but
> rigth away. This is way something new.

Because it''s missing the object_unparent done by qdev_unplug.  Does
object_unparent+qdev_free work?  (I believe object_unparent should be
done by qdev_free rather than qdev_unplug, but that''s something for
1.2).

Paolo