mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemuBuildVMGenIDCommandLine: Generate via JSON
QEMU declares the 'guid' property as: guid=<str> - UUID (aka GUID) or "auto" for random value (default) (default: "auto") Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
1b61610784
commit
304ffa2dff
@ -6144,19 +6144,26 @@ qemuBuildSysinfoCommandLine(virCommand *cmd,
|
|||||||
|
|
||||||
static int
|
static int
|
||||||
qemuBuildVMGenIDCommandLine(virCommand *cmd,
|
qemuBuildVMGenIDCommandLine(virCommand *cmd,
|
||||||
const virDomainDef *def)
|
const virDomainDef *def,
|
||||||
|
virQEMUCaps *qemuCaps)
|
||||||
{
|
{
|
||||||
g_auto(virBuffer) opts = VIR_BUFFER_INITIALIZER;
|
g_autoptr(virJSONValue) props = NULL;
|
||||||
char guid[VIR_UUID_STRING_BUFLEN];
|
char guid[VIR_UUID_STRING_BUFLEN];
|
||||||
|
|
||||||
if (!def->genidRequested)
|
if (!def->genidRequested)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
virUUIDFormat(def->genid, guid);
|
virUUIDFormat(def->genid, guid);
|
||||||
virBufferAsprintf(&opts, "vmgenid,guid=%s,id=vmgenid0", guid);
|
|
||||||
|
|
||||||
virCommandAddArg(cmd, "-device");
|
if (virJSONValueObjectCreate(&props,
|
||||||
virCommandAddArgBuffer(cmd, &opts);
|
"s:driver", "vmgenid",
|
||||||
|
"s:guid", guid,
|
||||||
|
"s:id", "vmgenid0",
|
||||||
|
NULL) < 0)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (qemuBuildDeviceCommandlineFromJSON(cmd, props, qemuCaps) < 0)
|
||||||
|
return -1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -10658,7 +10665,7 @@ qemuBuildCommandLine(virQEMUDriver *driver,
|
|||||||
if (qemuBuildSysinfoCommandLine(cmd, def) < 0)
|
if (qemuBuildSysinfoCommandLine(cmd, def) < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (qemuBuildVMGenIDCommandLine(cmd, def) < 0)
|
if (qemuBuildVMGenIDCommandLine(cmd, def, qemuCaps) < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user