Currently, if the user doesn't pass a uuid, the system uuid is set to all zeros. This patch generates a random one instead.
Is there a reason to prefer all zeros? If not, can a patch like this one be applied? Signed-off-by: Serge Hallyn <serge.hal...@canonical.com> --- vl.c | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/vl.c b/vl.c index 112b0e0..2b53b62 100644 --- a/vl.c +++ b/vl.c @@ -247,7 +247,9 @@ int nb_numa_nodes; uint64_t node_mem[MAX_NODES]; uint64_t node_cpumask[MAX_NODES]; +#include <uuid/uuid.h> uint8_t qemu_uuid[16]; +bool uuid_set = false; static QEMUBootSetHandler *boot_set_handler; static void *boot_set_opaque; @@ -3030,6 +3032,7 @@ int main(int argc, char **argv, char **envp) " Wrong format.\n"); exit(1); } + uuid_set = true; break; case QEMU_OPTION_option_rom: if (nb_option_roms >= MAX_OPTION_ROMS) { @@ -3200,6 +3203,14 @@ int main(int argc, char **argv, char **envp) exit(0); } + if (!uuid_set) { + uuid_t uuid; + uuid_generate(uuid); + for (i = 0; i < 16; i++) { + qemu_uuid[i] = uuid[i]; + } + } + /* Open the logfile at this point, if necessary. We can't open the logfile * when encountering either of the logging options (-d or -D) because the * other one may be encountered later on the command line, changing the -- 1.7.9.1