[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 4/5] Use libuuid if available.
From: |
Gleb Natapov |
Subject: |
[Qemu-devel] [PATCH 4/5] Use libuuid if available. |
Date: |
Thu, 05 Jun 2008 11:35:51 +0300 |
User-agent: |
StGIT/0.14.2 |
If libuuid is available use it for input validation and UUID generation if
user does not provide one.
Signed-off-by: Gleb Natapov <address@hidden>
---
Makefile.target | 4 ++++
configure | 14 ++++++++++++++
monitor.c | 10 ++++++++++
vl.c | 17 +++++++++++++++++
4 files changed, 45 insertions(+), 0 deletions(-)
diff --git a/Makefile.target b/Makefile.target
index e06a99e..c1385af 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -502,6 +502,10 @@ CPPFLAGS += $(CONFIG_VNC_TLS_CFLAGS)
LIBS += $(CONFIG_VNC_TLS_LIBS)
endif
+ifdef CONFIG_UUID
+LIBS += -luuid
+endif
+
# SCSI layer
OBJS+= lsi53c895a.o esp.o
diff --git a/configure b/configure
index f204d04..49ee04c 100755
--- a/configure
+++ b/configure
@@ -113,6 +113,7 @@ build_docs="no"
uname_release=""
curses="yes"
nptl="yes"
+uuid="yes"
# OS specific
targetos=`uname -s`
@@ -314,6 +315,8 @@ for opt do
;;
--enable-uname-release=*) uname_release="$optarg"
;;
+ --disable-uuid) uuid="no"
+ ;;
--sparc_cpu=*)
sparc_cpu="$optarg"
case $sparc_cpu in
@@ -728,6 +731,12 @@ if test "$vnc_tls" = "yes" ; then
fi
##########################################
+# uuid library
+if test "$uuid" = "yes" ; then
+ `pkg-config uuid` || uuid="no"
+fi
+
+##########################################
# alsa sound support libraries
if test "$alsa" = "yes" ; then
@@ -862,6 +871,7 @@ echo "Documentation $build_docs"
[ ! -z "$uname_release" ] && \
echo "uname -r $uname_release"
echo "NPTL support $nptl"
+echo "UUID support $uuid"
if test $sdl_too_old = "yes"; then
echo "-> Your SDL version is too old - please upgrade to have SDL support"
@@ -1070,6 +1080,10 @@ if test "$vnc_tls" = "yes" ; then
echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
echo "#define CONFIG_VNC_TLS 1" >> $config_h
fi
+if test "$uuid" = "yes" ; then
+ echo "CONFIG_UUID=yes" >> $config_mak
+ echo "#define CONFIG_UUID 1" >> $config_h
+fi
qemu_version=`head $source_path/VERSION`
echo "VERSION=$qemu_version" >>$config_mak
echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
diff --git a/monitor.c b/monitor.c
index 9233625..1cc9079 100644
--- a/monitor.c
+++ b/monitor.c
@@ -47,6 +47,10 @@
#define offsetof(type, field) ((size_t) &((type *)0)->field)
#endif
+#ifdef CONFIG_UUID
+#include <uuid/uuid.h>
+extern uuid_t qemu_uuid;
+#endif
/*
* Supported types:
*
@@ -256,8 +260,14 @@ static void do_info_name(void)
static void do_info_uuid(void)
{
+#ifdef CONFIG_UUID
+ char uuid_str[37];
+ uuid_unparse(qemu_uuid, uuid_str);
+ term_printf("%s\n", uuid_str);
+#else
if (qemu_uuid_str)
term_printf("%s\n", qemu_uuid_str);
+#endif
}
static void do_info_block(void)
diff --git a/vl.c b/vl.c
index 8e9e841..be31263 100644
--- a/vl.c
+++ b/vl.c
@@ -131,6 +131,11 @@ int inet_aton(const char *cp, struct in_addr *ia);
#include "exec-all.h"
+#ifdef CONFIG_UUID
+#include <uuid/uuid.h>
+uuid_t qemu_uuid;
+#endif
+
#define DEFAULT_NETWORK_SCRIPT "/etc/qemu-ifup"
#define DEFAULT_NETWORK_DOWN_SCRIPT "/etc/qemu-ifdown"
#ifdef __sun__
@@ -8234,6 +8239,13 @@ int main(int argc, char **argv)
break;
case QEMU_OPTION_uuid:
qemu_uuid_str = optarg;
+#ifdef CONFIG_UUID
+ if (uuid_parse(qemu_uuid_str, qemu_uuid) < 0) {
+ fprintf(stderr, "Fail to parse UUID string."
+ " Wrong format.\n");
+ exit(1);
+ }
+#endif
break;
case QEMU_OPTION_daemonize:
daemonize = 1;
@@ -8317,6 +8329,11 @@ int main(int argc, char **argv)
}
}
+#if CONFIG_UUID
+ if (!qemu_uuid_str)
+ uuid_generate(qemu_uuid);
+#endif
+
#ifndef _WIN32
if (daemonize && !nographic && vnc_display == NULL) {
fprintf(stderr, "Can only daemonize if using -nographic or -vnc\n");
- [Qemu-devel] [PATCH 1/5] Add OUT support to vmport., Gleb Natapov, 2008/06/05
- [Qemu-devel] [PATCH 2/5] Add -uuid command line option., Gleb Natapov, 2008/06/05
- [Qemu-devel] [PATCH 3/5] Add "info uuid" command to monitor., Gleb Natapov, 2008/06/05
- [Qemu-devel] [PATCH 4/5] Use libuuid if available.,
Gleb Natapov <=
- Re: [Qemu-devel] [PATCH 4/5] Use libuuid if available., Anthony Liguori, 2008/06/05
- Re: [Qemu-devel] [PATCH 4/5] Use libuuid if available., Gleb Natapov, 2008/06/05
- Re: [Qemu-devel] [PATCH 4/5] Use libuuid if available., Anthony Liguori, 2008/06/05
- Re: [Qemu-devel] [PATCH 4/5] Use libuuid if available., Paul Brook, 2008/06/05
- Re: [Qemu-devel] [PATCH 4/5] Use libuuid if available., Anthony Liguori, 2008/06/05
- Re: [Qemu-devel] [PATCH 4/5] Use libuuid if available., Daniel P. Berrange, 2008/06/06
[Qemu-devel] [PATCH 5/5] Add support for UUID query to vmport interface., Gleb Natapov, 2008/06/05