qemu aborts if i add a already registered device from qemu monitor ..
Hi
I tried to add a device to guest from upstream qemu monitor using "device_add".
Unknowingly i try to add already registered devices from qemu monitor, my qemu monitor is aborted. I don't see a reason to kill monitor. I think abort() is a bit rough. we need a better way to handle it. If a user try to add a already registered device, qemu should convey this to user saying that, this device already registered and an error message should be fine than aborting qemu.
QLIST_FOREACH(block, &ram_list.blocks, next) {
if (!strcmp(block->idstr, new_block->idstr)) {
fprintf(stderr, "RAMBlock \"%s\" already registered,
abort!\n",
new_block->idstr);
abort();
}If i return some other value in above code, instead of abort(), I
would need change the code for every device, which i dont want to.
Is there a way to check, if device is already enrolled or not in the very beginning of "device_add" call.
Thanks
Pradeep
Quoted 4 lines · On Tue, 19 Oct 2010 15:27:37 +0530 pradeep <[email protected]> wrote:
Hi
I tried to add a device to guest from upstream qemu monitor using "
device_add".
Are you developing a new device or does it happen with existing ones?
If it's the latter, can you describe steps to reproduce it?
Quoted 27 lines
Unknowingly i try to add already registered devices from qemu monitor, my qemu monitor is aborted. I don't see a reason to kill monitor. I think
abort()is a bit rough. we need a better way to handle it. If a user try to add a already registered device, qemu should convey this to user saying that, this device already registered and an error message should be fine than aborting qemu.QLIST_FOREACH(block, &ram_list.blocks, next) { if (!strcmp(block->idstr, new_block->idstr)) { fprintf(stderr, "RAMBlock \"%s\" already registered, abort!\n", new_block->idstr); abort(); }If i return some other value in above code, instead of
abort(), I
would need change the code for every device, which i dont want to.
Is there a way to check, if device is already enrolled or not in the very beginning of "device_add" call.Thanks
Pradeep