On 09/16/11 18:00, Anthony Liguori wrote:
qdev has this quirk that it owns a seemingly arbitrary QemuOpts pointer. That's
because qdev expects a static string for the id (which really makes no sense
since ids are supposed to be provided by the user). Instead of managing just
the id pointer, we currently take ownership of the entire QemuOpts structure
that was used to create the device just to keep the name around.
FYI: Keeping the pointer to the QemuOpts has one more reason: It will free the
QemuOpts on hot-unplug, which is needed to free the id from QemuOpts point of
view, which in turn allows to re-use the id when hot-plugging the same (or
another) device later on.