NULL);
virCommandSetInputBuffer(cmd, json);
+
+ if (def->caps->data.mdev.uuid)
+ virCommandAddArgPair(cmd, "--uuid", def->caps->data.mdev.uuid);
+
virCommandSetOutputBuffer(cmd, uuid_out);
virCommandSetErrorBuffer(cmd, errmsg);
return NULL;
}
- return nodeDeviceFindNewMediatedDevice(conn, uuid);
+ if (uuid && uuid[0]) {
+ g_free(def->caps->data.mdev.uuid);
+ def->caps->data.mdev.uuid = g_steal_pointer(&uuid);
+ }
+
+ return nodeDeviceFindNewMediatedDevice(conn, def->caps->data.mdev.uuid);
}
return NULL;
}
- def->caps->data.mdev.uuid = g_strdup(uuid);
+ if (uuid && uuid[0]) {
+ g_free(def->caps->data.mdev.uuid);
+ def->caps->data.mdev.uuid = g_steal_pointer(&uuid);
+ }
+
mdevGenerateDeviceName(def);
- device = nodeDeviceFindNewMediatedDevice(conn, uuid);
+ device = nodeDeviceFindNewMediatedDevice(conn, def->caps->data.mdev.uuid);
return device;
}