const char *eventPath = "";
const char *eventAlias = "";
const char *eventReason = "";
- virDomainDiskDef *disk;
+ virDomainDiskDef *disk = NULL;
+ virStorageSource *src = NULL;
virObjectLock(vm);
priv = QEMU_DOMAIN_PRIVATE(vm);
- if (device)
+ if (nodename)
+ disk = qemuDomainDiskLookupByNodename(vm->def, priv->backup, nodename, &src);
+
+ if (!disk)
disk = qemuProcessFindDomainDiskByAliasOrQOM(vm, device, NULL);
- else if (nodename)
- disk = qemuDomainDiskLookupByNodename(vm->def, NULL, nodename, NULL);
- else
- disk = NULL;
- if (disk) {
- eventPath = virDomainDiskGetSource(disk);
+ if (!src && disk)
+ src = disk->src;
+
+ if (disk)
eventAlias = disk->info.alias;
- }
+
+ if (src && src->path)
+ eventPath = src->path;
if (nospace)
eventReason = "enospc";