[PATCH v2 0/2] inspect: basic UTF-8 encoding for rpm
by Cédric Bosdonnat
This needs Richard's patch:
https://www.redhat.com/archives/libguestfs/2018-February/msg00099.html
Diff to v1:
* factorized the UTF-8 conversion functions
* small style fixes
Cédric Bosdonnat (2):
common: extract UTF-8 conversion function
inspector: rpm summary and description may not be utf-8
common/utils/guestfs-utils.h | 1 +
common/utils/libxml2-utils.c | 57 +-----------------------
common/utils/utils.c | 64 +++++++++++++++++++++++++++
inspector/expected-fedora.img.xml | 4 ++
lib/inspect-apps.c | 30 +++++++++++--
test-data/phony-guests/fedora-packages.db.txt | 4 +-
6 files changed, 98 insertions(+), 62 deletions(-)
--
2.16.1
6 years, 10 months
[PATCH] appliance: include dash for Debian distros
by Pino Toscano
Make sure that /bin/sh is available in the appliance, and that path is
provided by dash on Debian distributions.
---
appliance/packagelist.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/appliance/packagelist.in b/appliance/packagelist.in
index 78aedad0b..f92a6ce95 100644
--- a/appliance/packagelist.in
+++ b/appliance/packagelist.in
@@ -61,6 +61,7 @@ ifelse(DEBIAN,1,
dnl old name used in Jessie and earlier
btrfs-tools
cryptsetup
+ dash
extlinux
genisoimage
dnl gfs-tools, gfs2-tools have been renamed to gfs2-utils
--
2.14.3
6 years, 10 months
Intent to retire: zerofree
by Richard W.M. Jones
zerofree is a package that can take an ext2 (only?) filesystem, work
out what parts of the filesystem are not used, and either zero them or
sparsify them.
This was useful in about 2009 when I added it to Fedora. However
nowadays it's more convenient to use the equivalent kernel
functionality (via the ‘fstrim’ command or equivalent ioctls). The
kernel functionality also works correctly for other filesystem types.
There's also a more serious data safety issue: Although this probably
works OK for ext2 since that format is frozen in time, it probably
corrupts ext4 filesystems containing features that it doesn't know
about.
It is for these reasons that I don't think you should use this package
and I intend to retire it unless anyone says otherwise.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages. http://libguestfs.org
6 years, 10 months
[PATCH] Introduce a wrapper around xmlParseURI.
by Richard W.M. Jones
We only use xmlParseURI to parse our own "homebrew" URIs, for example
the ones used by guestfish --add or virt-v2v. Unfortunately
xmlParseURI cannot handle URIs with spaces or other non-RFC-compliant
characters so simple commands like these fail:
$ guestfish -a 'ssh://example.com/virtual machine.img'
guestfish: --add: could not parse URI 'ssh://example.com/virtual machine.img'
$ guestfish -a 'ssh://example.com/バーチャルマシン.img'
guestfish: --add: could not parse URI 'ssh://example.com/バーチャルマシン.img'
This is a usability problem. However since these are not expected to
be generic RFC-compliant URIs we can perform the required
percent-escaping ourselves instead of demanding that the user does
this.
Note that the wrapper function should not be used on real URLs or
libvirt URLs.
---
common/mlxml/Makefile.am | 1 +
common/mlxml/xml-c.c | 45 +++++++++--
common/mlxml/xml.ml | 1 +
common/mlxml/xml.mli | 4 +
common/options/uri.c | 5 +-
common/utils/Makefile.am | 2 +
common/utils/libxml2-utils.c | 178 +++++++++++++++++++++++++++++++++++++++++++
common/utils/libxml2-utils.h | 27 +++++++
v2v/input_vmx.ml | 8 +-
v2v/virt-v2v.pod | 5 +-
10 files changed, 258 insertions(+), 18 deletions(-)
diff --git a/common/mlxml/Makefile.am b/common/mlxml/Makefile.am
index 083c7a64b..739b58ae4 100644
--- a/common/mlxml/Makefile.am
+++ b/common/mlxml/Makefile.am
@@ -53,6 +53,7 @@ libmlxml_a_CPPFLAGS = \
-I. \
-I$(top_builddir) \
-I$(top_srcdir)/gnulib/lib -I$(top_builddir)/gnulib/lib \
+ -I$(top_srcdir)/common/utils -I$(top_builddir)/common/utils \
-I$(shell $(OCAMLC) -where)
libmlxml_a_CFLAGS = \
$(WARN_CFLAGS) $(WERROR_CFLAGS) \
diff --git a/common/mlxml/xml-c.c b/common/mlxml/xml-c.c
index 3ebecb25e..6dcdb5ccb 100644
--- a/common/mlxml/xml-c.c
+++ b/common/mlxml/xml-c.c
@@ -27,17 +27,21 @@
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <errno.h>
#include <caml/alloc.h>
#include <caml/custom.h>
#include <caml/fail.h>
#include <caml/memory.h>
#include <caml/mlvalues.h>
+#include <caml/unixsupport.h>
#include <libxml/xpath.h>
#include <libxml/xpathInternals.h>
#include <libxml/uri.h>
+#include "libxml2-utils.h"
+
#pragma GCC diagnostic ignored "-Wmissing-prototypes"
/* xmlDocPtr type */
@@ -426,16 +430,11 @@ mllib_xml_doc_get_root_element (value docv)
}
}
-value
-mllib_xml_parse_uri (value strv)
+static value
+Val_uri (xmlURIPtr uri)
{
- CAMLparam1 (strv);
+ CAMLparam0 ();
CAMLlocal3 (rv, sv, ov);
- xmlURIPtr uri;
-
- uri = xmlParseURI (String_val (strv));
- if (uri == NULL)
- caml_invalid_argument ("parse_uri: unable to parse URI");
rv = caml_alloc_tuple (9);
@@ -514,7 +513,37 @@ mllib_xml_parse_uri (value strv)
else ov = Val_int (0);
Store_field (rv, 8, ov);
+ CAMLreturn (rv);
+}
+
+value
+mllib_xml_parse_uri (value strv)
+{
+ CAMLparam1 (strv);
+ CAMLlocal1 (rv);
+ xmlURIPtr uri;
+
+ uri = xmlParseURI (String_val (strv));
+ if (uri == NULL)
+ caml_invalid_argument ("parse_uri: unable to parse URI");
+
+ rv = Val_uri (uri);
xmlFreeURI (uri);
+ CAMLreturn (rv);
+}
+
+value
+mllib_xml_parse_nonstandard_uri (value strv)
+{
+ CAMLparam1 (strv);
+ CAMLlocal1 (rv);
+ xmlURIPtr uri;
+ uri = guestfs_int_parse_nonstandard_uri (String_val (strv));
+ if (uri == NULL)
+ unix_error (errno, (char *) "Xml.parse_uri", strv);
+
+ rv = Val_uri (uri);
+ xmlFreeURI (uri);
CAMLreturn (rv);
}
diff --git a/common/mlxml/xml.ml b/common/mlxml/xml.ml
index 5b5c09c00..faeea35ee 100644
--- a/common/mlxml/xml.ml
+++ b/common/mlxml/xml.ml
@@ -162,3 +162,4 @@ type uri = {
}
external parse_uri : string -> uri = "mllib_xml_parse_uri"
+external parse_nonstandard_uri : string -> uri = "mllib_xml_parse_nonstandard_uri"
diff --git a/common/mlxml/xml.mli b/common/mlxml/xml.mli
index f561bd673..73c2fdd4b 100644
--- a/common/mlxml/xml.mli
+++ b/common/mlxml/xml.mli
@@ -115,3 +115,7 @@ val parse_uri : string -> uri
Note this is different from the {!URI} module which is specialized
for parsing the [-a] parameter on the command line. This function
exposes the full [xmlParseURI] interface. *)
+
+val parse_nonstandard_uri : string -> uri
+(** Similar to {!parse_uri} but only for use with our non-standard
+ URIs. See [guestfs_int_parse_nonstandard_uri] in [common/utils]. *)
diff --git a/common/options/uri.c b/common/options/uri.c
index ac36bccb2..88a5f0560 100644
--- a/common/options/uri.c
+++ b/common/options/uri.c
@@ -38,6 +38,7 @@
#include "guestfs.h"
#include "guestfs-utils.h"
+#include "libxml2-utils.h"
#include "uri.h"
static int is_uri (const char *arg);
@@ -114,9 +115,9 @@ parse (const char *arg, char **path_ret, char **protocol_ret,
CLEANUP_FREE char *socket = NULL;
char *path;
- uri = xmlParseURI (arg);
+ uri = guestfs_int_parse_nonstandard_uri (arg);
if (!uri) {
- fprintf (stderr, _("%s: --add: could not parse URI ‘%s’\n"),
+ fprintf (stderr, _("%s: --add: could not parse URI ‘%s’: %m\n"),
getprogname (), arg);
return -1;
}
diff --git a/common/utils/Makefile.am b/common/utils/Makefile.am
index 143e2c141..1fa98f992 100644
--- a/common/utils/Makefile.am
+++ b/common/utils/Makefile.am
@@ -26,6 +26,8 @@ libutils_la_SOURCES = \
gnulib-cleanups.c \
guestfs-utils.h \
libxml2-cleanups.c \
+ libxml2-utils.c \
+ libxml2-utils.h \
utils.c
libutils_la_CPPFLAGS = \
-DGUESTFS_WARN_DEPRECATED=1 \
diff --git a/common/utils/libxml2-utils.c b/common/utils/libxml2-utils.c
new file mode 100644
index 000000000..8a05aa5b1
--- /dev/null
+++ b/common/utils/libxml2-utils.c
@@ -0,0 +1,178 @@
+/* libguestfs
+ * Copyright (C) 2017 Red Hat Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/**
+ * Utility functions using libxml2.
+ *
+ * These functions these I<must not> call internal library functions
+ * such as C<safe_*>, C<error> or C<perrorf>, or any C<guestfs_int_*>.
+ */
+
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <locale.h>
+#include <langinfo.h>
+#include <iconv.h>
+
+#include <libxml/uri.h>
+
+#include "c-ctype.h"
+
+/* NB: MUST NOT include "guestfs-internal.h". */
+#include "guestfs.h"
+#include "guestfs-utils.h"
+#include "libxml2-utils.h"
+
+static char *local_string_to_utf8 (/* const */ char *input);
+
+/**
+ * This is a wrapper around C<xmlParseURI>. That function cannot
+ * handle spaces and some non-ASCII characters found in URIs. This
+ * wrapper URI-encodes those before calling C<xmlParseURI> and returns
+ * the URI structure.
+ *
+ * This function should B<only> be called for the URIs that libguestfs
+ * has invented, for things like guestfish I<--add> and virt-v2v.
+ *
+ * For real URIs or libvirt URIs this may cause corruption in corner
+ * cases. (See L<https://news.ycombinator.com/item?id=11673058>
+ * describing some of the complexity involved in dealing with real
+ * URI).
+ *
+ * On error, returns C<NULL> and sets C<errno> appropriately.
+ *
+ * Caller must call C<xmlFreeURI> on the returned structure or use the
+ * C<CLEANUP_XMLFREEURI> cleanup macro.
+ */
+xmlURIPtr
+guestfs_int_parse_nonstandard_uri (const char *arg)
+{
+ CLEANUP_FREE char *uri = NULL;
+ CLEANUP_FREE char *escaped_uri = NULL;
+ static const char hexdigit[] = "0123456789abcdef";
+ size_t i, j, len;
+ xmlURIPtr ret;
+
+ /* Convert the string to UTF-8. */
+ uri = local_string_to_utf8 ((char *) arg);
+ if (uri == NULL)
+ return NULL;
+
+ /* Since we know the URI is in well-formed UTF-8 we can iterate over
+ * the bytes to do the escaping. The output of this will never be
+ * more than 3 times larger (each byte might be rewritten as ‘%XX’).
+ */
+ len = strlen (uri);
+ escaped_uri = malloc (3*len + 1);
+ if (escaped_uri == NULL)
+ return NULL;
+
+ for (i = j = 0; i < strlen (uri); ++i) {
+ /* See RFC 3986 appendix A. Note this leaves existing %-encoded
+ * escapes alone.
+ */
+ if (c_isalnum (uri[i]) ||
+ strchr ("%-._~:/?#[]@!$&'()*+,;=", uri[i]) != NULL)
+ escaped_uri[j++] = uri[i];
+ else {
+ escaped_uri[j++] = '%';
+ escaped_uri[j++] = hexdigit [(((unsigned char) uri[i]) >> 4) & 0xf];
+ escaped_uri[j++] = hexdigit [((unsigned char) uri[i]) & 0xf];
+ }
+ }
+ escaped_uri[j++] = '\0';
+
+ /* libxml2 xmlParseURI does not reliably set errno, so it's likely
+ * best to ignore whatever errno is returned and overwrite it with
+ * EINVAL.
+ */
+ ret = xmlParseURI (escaped_uri);
+ if (ret == NULL) {
+ errno = EINVAL;
+ return NULL;
+ }
+
+ return ret;
+}
+
+/* Would be const, but the interface to iconv is not const-correct on
+ * all platforms. The input string is not touched.
+ */
+static char *
+local_string_to_utf8 (/* const */ char *input)
+{
+ iconv_t ic;
+ size_t len, inlen, outlen, outalloc, r, prev;
+ int err;
+ char *out, *inp, *outp;
+
+ /* Convert from input locale to UTF-8. */
+ ic = iconv_open ("UTF-8", nl_langinfo (CODESET));
+ if (ic == (iconv_t) -1)
+ return NULL;
+
+ len = strlen (input);
+ outalloc = len; /* Initial guess. */
+
+ again:
+ inlen = len;
+ outlen = outalloc;
+ out = malloc (outlen + 1);
+ if (out == NULL) {
+ err = errno;
+ iconv_close (ic);
+ errno = err;
+ return NULL;
+ }
+ inp = input;
+ outp = out;
+
+ r = iconv (ic, (ICONV_CONST char **) &inp, &inlen, &outp, &outlen);
+ if (r == (size_t) -1) {
+ if (errno == E2BIG) {
+ err = errno;
+ prev = outalloc;
+ /* Try again with a larger output buffer. */
+ free (out);
+ outalloc *= 2;
+ if (outalloc < prev) {
+ iconv_close (ic);
+ errno = err;
+ return NULL;
+ }
+ goto again;
+ }
+ else {
+ /* Else some other conversion failure, eg. EILSEQ, EINVAL. */
+ err = errno;
+ iconv_close (ic);
+ free (out);
+ errno = err;
+ return NULL;
+ }
+ }
+
+ *outp = '\0';
+ iconv_close (ic);
+
+ return out;
+}
diff --git a/common/utils/libxml2-utils.h b/common/utils/libxml2-utils.h
new file mode 100644
index 000000000..d9916ea58
--- /dev/null
+++ b/common/utils/libxml2-utils.h
@@ -0,0 +1,27 @@
+/* libguestfs
+ * Copyright (C) 2017 Red Hat Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef GUESTFS_LIBXML2_UTILS_H_
+#define GUESTFS_LIBXML2_UTILS_H_
+
+#include <libxml/uri.h>
+
+/* libxml2-utils.c */
+extern xmlURIPtr guestfs_int_parse_nonstandard_uri (const char *uri);
+
+#endif /* GUESTFS_LIBXML2_UTILS_H_ */
diff --git a/v2v/input_vmx.ml b/v2v/input_vmx.ml
index a8b33f66f..b97fac700 100644
--- a/v2v/input_vmx.ml
+++ b/v2v/input_vmx.ml
@@ -38,11 +38,11 @@ type vmx_source =
let vmx_source_of_arg input_transport arg =
match input_transport, arg with
| None, arg -> File arg
- | Some `SSH, arg ->
+ | Some `SSH, uri ->
let uri =
- try Xml.parse_uri arg
- with Invalid_argument _ ->
- error (f_"remote vmx ‘%s’ could not be parsed as a URI") arg in
+ try Xml.parse_nonstandard_uri uri
+ with exn ->
+ error (f_"could not parse URI: %s") (Printexc.to_string exn) in
if uri.Xml.uri_scheme <> None && uri.Xml.uri_scheme <> Some "ssh" then
error (f_"vmx URI start with ‘ssh://...’");
if uri.Xml.uri_server = None then
diff --git a/v2v/virt-v2v.pod b/v2v/virt-v2v.pod
index b2face339..4179245d6 100644
--- a/v2v/virt-v2v.pod
+++ b/v2v/virt-v2v.pod
@@ -1438,10 +1438,7 @@ authorized_keys.
When using the SSH input transport you must specify a remote
C<ssh://...> URI pointing to the VMX file. A typical URI looks like:
- ssh://root@esxi.example.com/vmfs/volumes/datastore1/my%20guest/my%20guest.vmx
-
-Any space must be escaped with C<%20> and other non-ASCII characters
-may also need to be URI-escaped.
+ ssh://root@esxi.example.com/vmfs/volumes/datastore1/my guest/my guest.vmx
The username is not required if it is the same as your local username.
--
2.13.2
6 years, 10 months
[PATCH] inspector: rpm summary and description may not be utf-8
by Cédric Bosdonnat
The application inspection code assumes the data in the RPM database
are encoded in UTF-8. However this is not always the case.
As a basic workaround, try to parse the string to UTF-8 and if that
fails, try converting it from latin-1.
---
inspector/expected-fedora.img.xml | 4 ++
lib/inspect-apps.c | 75 +++++++++++++++++++++++++--
test-data/phony-guests/fedora-packages.db.txt | 4 +-
3 files changed, 77 insertions(+), 6 deletions(-)
diff --git a/inspector/expected-fedora.img.xml b/inspector/expected-fedora.img.xml
index 8d40e8cb7..ffefce177 100644
--- a/inspector/expected-fedora.img.xml
+++ b/inspector/expected-fedora.img.xml
@@ -33,12 +33,16 @@
<version>1.0</version>
<release>1.fc14</release>
<arch>x86_64</arch>
+ <summary>summary with ö</summary>
+ <description>description with ö</description>
</application>
<application>
<name>test2</name>
<version>2.0</version>
<release>2.fc14</release>
<arch>x86_64</arch>
+ <summary>summary with ö</summary>
+ <description>description with ö</description>
</application>
<application>
<name>test3</name>
diff --git a/lib/inspect-apps.c b/lib/inspect-apps.c
index f0cf16b38..5adfabfe6 100644
--- a/lib/inspect-apps.c
+++ b/lib/inspect-apps.c
@@ -22,6 +22,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
+#include <iconv.h>
#ifdef HAVE_ENDIAN_H
#include <endian.h>
@@ -251,7 +252,7 @@ get_rpm_header_tag (guestfs_h *g, const unsigned char *header_start,
/* This function parses the RPM header structure to pull out various
* tag strings (version, release, arch, etc.). For more detail on the
* header format, see:
- * http://www.rpm.org/max-rpm/s1-rpm-file-format-rpm-file-format.html#S2-RPM...
+ * http://rpm.org/devel_doc/file_format.html#24-header-format
*/
/* The minimum header size that makes sense here is 24 bytes. Four
@@ -301,6 +302,66 @@ struct read_package_data {
struct guestfs_application2_list *apps;
};
+static char *
+to_utf8 (guestfs_h *g, char *input)
+{
+ iconv_t cd_utf8_utf8 = (iconv_t)(-1);
+ iconv_t cd_utf8_latin1 = (iconv_t)(-1);
+ size_t in_left, out_left, res;
+ char *in_ptr;
+ char *out_ptr;
+ char *output = NULL;
+ char *result = NULL;
+
+ cd_utf8_utf8 = iconv_open("UTF-8", "UTF-8");
+ if (cd_utf8_utf8 == (iconv_t)(-1)) {
+ perrorf(g, "No iconv UTF-8 encoding");
+ goto cleanup;
+ }
+
+ in_ptr = input;
+ in_left = strlen(input) + 1;
+ out_left = in_left * 4;
+ output = safe_malloc(g, out_left);
+ out_ptr = output;
+
+ res = iconv(cd_utf8_utf8, &in_ptr, &in_left, &out_ptr, &out_left);
+ if (res == (size_t)(-1)) {
+ if (errno == E2BIG) {
+ perrorf(g, "iconv: '%s', buffer length: %lu", input, strlen(input) * 4);
+ goto cleanup;
+ }
+
+ /* Try latin-1 encoding */
+ cd_utf8_latin1 = iconv_open("UTF-8", "ISO-8859-1");
+ if (cd_utf8_latin1 == (iconv_t)(-1)) {
+ perrorf(g, "No iconv ISO-8859-1 encoding");
+ goto cleanup;
+ }
+
+ in_ptr = input;
+ in_left = strlen(input) + 1;
+ out_left = in_left * 4;
+ out_ptr = output;
+
+ res = iconv(cd_utf8_latin1, &in_ptr, &in_left, &out_ptr, &out_left);
+ if (res == (size_t)(-1)) {
+ perrorf(g, "Failed to parse latin-1: '%s'", input);
+ goto cleanup;
+ }
+ }
+
+ result = output;
+
+ cleanup:
+ iconv_close(cd_utf8_utf8);
+ iconv_close(cd_utf8_latin1);
+ if (!result)
+ free(output);
+
+ return result;
+}
+
static int
read_package (guestfs_h *g,
const unsigned char *key, size_t keylen,
@@ -311,7 +372,7 @@ read_package (guestfs_h *g,
struct rpm_name nkey, *entry;
CLEANUP_FREE char *version = NULL, *release = NULL,
*epoch_str = NULL, *arch = NULL, *url = NULL, *summary = NULL,
- *description = NULL;
+ *description = NULL, *summary_raw = NULL, *description_raw = NULL;
int32_t epoch;
/* This function reads one (key, value) pair from the Packages
@@ -342,8 +403,14 @@ read_package (guestfs_h *g,
epoch_str = get_rpm_header_tag (g, value, valuelen, RPMTAG_EPOCH, 'i');
arch = get_rpm_header_tag (g, value, valuelen, RPMTAG_ARCH, 's');
url = get_rpm_header_tag (g, value, valuelen, RPMTAG_URL, 's');
- summary = get_rpm_header_tag (g, value, valuelen, RPMTAG_SUMMARY, 's');
- description = get_rpm_header_tag (g, value, valuelen, RPMTAG_DESCRIPTION, 's');
+ summary_raw = get_rpm_header_tag (g, value, valuelen, RPMTAG_SUMMARY, 's');
+ description_raw = get_rpm_header_tag (g, value, valuelen, RPMTAG_DESCRIPTION, 's');
+
+ /* Try (not too hard) to get UTF-8 */
+ if (summary_raw)
+ summary = to_utf8(g, summary_raw);
+ if (description_raw)
+ description = to_utf8(g, description_raw);
/* The epoch is stored as big-endian integer. */
if (epoch_str)
diff --git a/test-data/phony-guests/fedora-packages.db.txt b/test-data/phony-guests/fedora-packages.db.txt
index f16a5aa76..927d6eb5f 100644
--- a/test-data/phony-guests/fedora-packages.db.txt
+++ b/test-data/phony-guests/fedora-packages.db.txt
@@ -5,9 +5,9 @@ h_nelem=3
db_pagesize=4096
HEADER=END
\01\00\00\00
- \00\00\00\03\00\00\00\11\00\00\03\e9\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03\ea\00\00\00\00\00\00\00\04\00\00\00\00\00\00\03\fe\00\00\00\00\00\00\00\0b\00\00\00\001.0\001.fc14\00x86_64\00
+ \00\00\00\05\00\00\00\33\00\00\03\e9\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03\ea\00\00\00\00\00\00\00\04\00\00\00\00\00\00\03\fe\00\00\00\00\00\00\00\0b\00\00\00\00\00\00\03\ec\00\00\00\00\00\00\00\12\00\00\00\00\00\00\03\ed\00\00\00\00\00\00\00\21\00\00\00\001.0\001.fc14\00x86_64\00summary with \f6\00description with \f6\00
\02\00\00\00
- \00\00\00\03\00\00\00\11\00\00\03\e9\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03\ea\00\00\00\00\00\00\00\04\00\00\00\00\00\00\03\fe\00\00\00\00\00\00\00\0b\00\00\00\002.0\002.fc14\00x86_64\00
+ \00\00\00\05\00\00\00\35\00\00\03\e9\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03\ea\00\00\00\00\00\00\00\04\00\00\00\00\00\00\03\fe\00\00\00\00\00\00\00\0b\00\00\00\00\00\00\03\ec\00\00\00\00\00\00\00\12\00\00\00\00\00\00\03\ed\00\00\00\00\00\00\00\22\00\00\00\002.0\002.fc14\00x86_64\00summary with \c3\b6\00description with \c3\b6\00
\03\00\00\00
\00\00\00\03\00\00\00\11\00\00\03\e9\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03\ea\00\00\00\00\00\00\00\04\00\00\00\00\00\00\03\fe\00\00\00\00\00\00\00\0b\00\00\00\003.0\003.fc14\00x86_64\00
DATA=END
--
2.16.1
6 years, 10 months
[PATCH] inspect: use check_tests also for detecting Hurd
by Pino Toscano
Even though the list of checks is very short, at least this migrates
from imperative checks to a "declarative" one.
There should be no behaviour change, other than using os-release if it
contains all the needed information.
---
daemon/inspect_fs_unix.ml | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/daemon/inspect_fs_unix.ml b/daemon/inspect_fs_unix.ml
index 53c86e878..e2a7364bd 100644
--- a/daemon/inspect_fs_unix.ml
+++ b/daemon/inspect_fs_unix.ml
@@ -698,6 +698,17 @@ let rec check_openbsd_root mountable data =
and check_hostname_openbsd () =
check_hostname_from_file "/etc/myname"
+let hurd_root_tests : tests = [
+ (* Newer distros include /etc/os-release which is reasonably
+ * standardized. This entry should be first.
+ *)
+ "/etc/os-release", parse_os_release;
+ "/etc/debian_version", parse_generic DISTRO_DEBIAN;
+ (* Arch Hurd also exists, but inconveniently it doesn't have
+ * the normal /etc/arch-release file. XXX
+ *)
+]
+
(* The currently mounted device may be a Hurd root. Hurd has distros
* just like Linux.
*)
@@ -705,13 +716,7 @@ let rec check_hurd_root mountable data =
let os_type = OS_TYPE_HURD in
data.os_type <- Some os_type;
- if Is.is_file "/etc/debian_version" ~followsymlinks:true then (
- let distro = DISTRO_DEBIAN in
- ignore (parse_generic distro "/etc/debian_version" data)
- );
- (* Arch Hurd also exists, but inconveniently it doesn't have
- * the normal /etc/arch-release file. XXX
- *)
+ check_tests data linux_root_tests;
(* Determine the architecture. *)
data.arch <- check_architecture ();
--
2.14.3
6 years, 10 months
[nbdkit PATCH 0/2] Consistent plugin return value handling
by Eric Blake
While working on improving the backend interface to allow filters
to handle errors, I noticed that I've introduced some minor
incompatibilities for filters that don't quite obey the documentation
which states that a callback should return only 0/-1. Prior to
my additions, we treated all plugin returns other than -1 as success
(sort of makes sense for a positive return, particularly if a
plugin can guarantee no short read/write and so just returns the
syscall value; a bit weirder if a plugin returns something other
than -1 on failure, where a typical case might be a plugin that
tried to return negative errno). However, I've had two commits
that were inconsistent, where a single plugin callback's
undocumented return value outside of 0/-1 was sometimes treated
as success and sometimes as failure.
We have two options: we can tighten the nbdkit code to match the
existing documentation (previously unenforced) to require that a
plugin MUST return 0 (or positive) on success (and treat
everything else as failures), which may subtly break some
existing plugins that weren't expecting this. Or we can fix the
nbdkit code to consistently always treat -1 as the only failure
value, and continue to allow -2 or positive values as
(undocumented) success.
This series goes with the latter option, but because I also see
the possibility of going with the former option, I'm not pushing
these without review.
Eric Blake (2):
plugins: Consistent error handling in zero
plugins: Consistent error handling on FUA
src/plugins.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
--
2.14.3
6 years, 10 months
[nbdkit PATCH] plugin: add and use nbdkit_realpath
by Pino Toscano
Introduce a new helper function to resolve a path name, calling
nbdkit_error on failure: other than doing what nbdkit_absolute_path
does, it also checks that the file exist (and thus avoid errors later
on).
Apply it where an existing path is required, both in nbdkit itself and
in plugins.
Related to: https://bugzilla.redhat.com/show_bug.cgi?id=1527334
---
docs/nbdkit-plugin.pod | 13 +++++++++++++
include/nbdkit-common.h | 1 +
plugins/example2/example2.c | 2 +-
plugins/file/file.c | 6 +-----
plugins/gzip/gzip.c | 2 +-
plugins/nbd/nbd.c | 2 +-
plugins/split/split.c | 2 +-
plugins/vddk/vddk.c | 2 +-
plugins/xz/xz.c | 2 +-
src/plugins.c | 2 +-
src/utils.c | 19 +++++++++++++++++++
11 files changed, 41 insertions(+), 12 deletions(-)
diff --git a/docs/nbdkit-plugin.pod b/docs/nbdkit-plugin.pod
index 44822fc..4576635 100644
--- a/docs/nbdkit-plugin.pod
+++ b/docs/nbdkit-plugin.pod
@@ -207,6 +207,19 @@ C<NULL>. Note that this function does not check that the file exists.
The returned string must be freed by the caller.
+=head2 C<nbdkit_realpath>
+
+ char *nbdkit_realpath (const char *filename);
+
+The utility function C<nbdkit_realpath> converts any path to an
+absolute path, resolving symlinks. Under the hood, it uses the
+C<realpath> function.
+
+If the path resolution was not possible, this calls C<nbdkit_error>
+and returns C<NULL>.
+
+The returned string must be freed by the caller.
+
=head1 CALLBACKS
=head2 C<.name>
diff --git a/include/nbdkit-common.h b/include/nbdkit-common.h
index 5e69579..693213f 100644
--- a/include/nbdkit-common.h
+++ b/include/nbdkit-common.h
@@ -60,6 +60,7 @@ extern void nbdkit_vdebug (const char *msg, va_list args);
extern char *nbdkit_absolute_path (const char *path);
extern int64_t nbdkit_parse_size (const char *str);
extern int nbdkit_read_password (const char *value, char **password);
+extern char *nbdkit_realpath (const char *path);
#ifdef __cplusplus
}
diff --git a/plugins/example2/example2.c b/plugins/example2/example2.c
index 5bc4f94..a2d6fca 100644
--- a/plugins/example2/example2.c
+++ b/plugins/example2/example2.c
@@ -78,7 +78,7 @@ example2_config (const char *key, const char *value)
{
if (strcmp (key, "file") == 0) {
/* See FILENAMES AND PATHS in nbdkit-plugin(3). */
- filename = nbdkit_absolute_path (value);
+ filename = nbdkit_realpath (value);
if (!filename)
return -1;
}
diff --git a/plugins/file/file.c b/plugins/file/file.c
index f8cb3d3..b6e33de 100644
--- a/plugins/file/file.c
+++ b/plugins/file/file.c
@@ -65,7 +65,7 @@ file_config (const char *key, const char *value)
if (strcmp (key, "file") == 0) {
/* See FILENAMES AND PATHS in nbdkit-plugin(3). */
free (filename);
- filename = nbdkit_absolute_path (value);
+ filename = nbdkit_realpath (value);
if (!filename)
return -1;
}
@@ -90,10 +90,6 @@ file_config_complete (void)
nbdkit_error ("you must supply the file=<FILENAME> parameter after the plugin name on the command line");
return -1;
}
- if (access (filename, F_OK) < 0) {
- nbdkit_error ("access '%s': %m", filename);
- return -1;
- }
return 0;
}
diff --git a/plugins/gzip/gzip.c b/plugins/gzip/gzip.c
index e9dbfdb..09dd629 100644
--- a/plugins/gzip/gzip.c
+++ b/plugins/gzip/gzip.c
@@ -62,7 +62,7 @@ gzip_config (const char *key, const char *value)
{
if (strcmp (key, "file") == 0) {
/* See FILENAMES AND PATHS in nbdkit-plugin(3). */
- filename = nbdkit_absolute_path (value);
+ filename = nbdkit_realpath (value);
if (!filename)
return -1;
}
diff --git a/plugins/nbd/nbd.c b/plugins/nbd/nbd.c
index c9727f7..9d0854c 100644
--- a/plugins/nbd/nbd.c
+++ b/plugins/nbd/nbd.c
@@ -68,7 +68,7 @@ nbd_config (const char *key, const char *value)
if (strcmp (key, "socket") == 0) {
/* See FILENAMES AND PATHS in nbdkit-plugin(3) */
free (sockname);
- sockname = nbdkit_absolute_path (value);
+ sockname = nbdkit_realpath (value);
if (!sockname)
return -1;
}
diff --git a/plugins/split/split.c b/plugins/split/split.c
index 47c366d..bdcdcf7 100644
--- a/plugins/split/split.c
+++ b/plugins/split/split.c
@@ -76,7 +76,7 @@ split_config (const char *key, const char *value)
return -1;
}
filenames = new_filenames;
- filenames[nr_files] = nbdkit_absolute_path (value);
+ filenames[nr_files] = nbdkit_realpath (value);
if (filenames[nr_files] == NULL)
return -1;
nr_files++;
diff --git a/plugins/vddk/vddk.c b/plugins/vddk/vddk.c
index 1c15127..8bc1517 100644
--- a/plugins/vddk/vddk.c
+++ b/plugins/vddk/vddk.c
@@ -153,7 +153,7 @@ vddk_config (const char *key, const char *value)
if (strcmp (key, "config") == 0) {
/* See FILENAMES AND PATHS in nbdkit-plugin(3). */
free (config);
- config = nbdkit_absolute_path (value);
+ config = nbdkit_realpath (value);
if (!config)
return -1;
}
diff --git a/plugins/xz/xz.c b/plugins/xz/xz.c
index 437f798..f45e489 100644
--- a/plugins/xz/xz.c
+++ b/plugins/xz/xz.c
@@ -67,7 +67,7 @@ xz_config (const char *key, const char *value)
{
if (strcmp (key, "file") == 0) {
/* See FILENAMES AND PATHS in nbdkit-plugin(3). */
- filename = nbdkit_absolute_path (value);
+ filename = nbdkit_realpath (value);
if (!filename)
return -1;
}
diff --git a/src/plugins.c b/src/plugins.c
index dba3e24..595b632 100644
--- a/src/plugins.c
+++ b/src/plugins.c
@@ -134,7 +134,7 @@ plugin_dump_fields (struct backend *b)
struct backend_plugin *p = container_of (b, struct backend_plugin, backend);
char *path;
- path = nbdkit_absolute_path (p->filename);
+ path = nbdkit_realpath (p->filename);
printf ("path=%s\n", path);
free (path);
diff --git a/src/utils.c b/src/utils.c
index 0083370..671b662 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -228,3 +228,22 @@ nbdkit_read_password (const char *value, char **password)
return 0;
}
+
+char *
+nbdkit_realpath (const char *path)
+{
+ char *ret;
+
+ if (path == NULL || *path == '\0') {
+ nbdkit_error ("cannot resolve a null or empty path");
+ return NULL;
+ }
+
+ ret = realpath (path, NULL);
+ if (ret == NULL) {
+ nbdkit_error ("realpath: %m");
+ return NULL;
+ }
+
+ return ret;
+}
--
2.14.3
6 years, 10 months
[PATCH] build: mandate Jansson >= 2.7
by Pino Toscano
Since we use APIs added in Jansson 2.7 (e.g. json_string_length), then
raise the minimum version required to that version.
Fixes commit bd1c5c9f4dcf38458099db8a0bf4659a07ef055d.
---
docs/guestfs-building.pod | 2 +-
m4/guestfs-libraries.m4 | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/guestfs-building.pod b/docs/guestfs-building.pod
index bf80984e4..db429f1a9 100644
--- a/docs/guestfs-building.pod
+++ b/docs/guestfs-building.pod
@@ -169,7 +169,7 @@ I<Required>.
I<Required>.
-=item Jansson
+=item Jansson E<ge> 2.7
I<Required>.
diff --git a/m4/guestfs-libraries.m4 b/m4/guestfs-libraries.m4
index 67a0b7148..6d5f3e3c1 100644
--- a/m4/guestfs-libraries.m4
+++ b/m4/guestfs-libraries.m4
@@ -285,7 +285,7 @@ AC_CHECK_FUNCS([xmlBufferDetach])
LIBS="$old_LIBS"
dnl Check for Jansson JSON library (required).
-PKG_CHECK_MODULES([JANSSON], [jansson])
+PKG_CHECK_MODULES([JANSSON], [jansson >= 2.7])
dnl Check for C++ (optional, we just use this to test the header works).
AC_PROG_CXX
--
2.14.3
6 years, 10 months
Re: [Libguestfs] [ovirt-users] Slow conversion from VMware in 4.1
by Richard W.M. Jones
On Wed, Jan 24, 2018 at 11:49:13PM +0100, Luca 'remix_tj' Lorenzetto wrote:
> Hello,
>
> i've started my migrations from vmware today. I had successfully
> migrated over 200 VM from vmware to another cluster based on 4.0 using
> our home-made scripts interacting with the API's. All the migrated vms
> are running RHEL 6 or 7, with no SELinux.
>
> We understood a lot about the necessities and we recorded also some
> metrics about migration times. In July, with 4.0 as destination, we
> were migrating ~30gb vm in ~40 mins.
> It was an acceptable time, considering that about 50% of our vms stand
> around that size.
>
> Today we started migrating to the production cluster, that is,
> instead, running 4.1.8. With the same scripts, the same api calls, and
> a vm of about 50gb we were supposing that we will have the vm running
> in the new cluster after 70 minutes, more or less.
>
> Instead, the migration is taking more than 2 hours, and this not
> because of the slow conversion time by qemu-img given that we're
> transferring an entire disk via http.
> Looking at the log, seems that activities executed before qemu-img
> took more than 2000 seconds. As example, appears to me that dracut
> took more than 14 minutes, which is in my opinion a bit long.
There's got to be some difference between your staging environment and
your production environment, and I'm pretty sure it has nothing to do
with the version of oVirt.
Are you running virt-v2v inside a virtual machine, and previously you
ran it on bare-metal? Or did you disable nested KVM? That seems like
the most likely explanation for the difference (although I'm surprised
that the difference is so large).
Rich.
> Is there any option to get a quicker conversion? Also some tasks to
> run in the guests before the conversion are accepted.
>
> We have to migrate ~300 vms in 2.5 months, and we're only at 11 after
> 7 hours (and today an exception that allowed us to start 4 hours in
> advance, but usually our maintenance time is significantly lower).
>
> This is a filtered out log reporting only the rows were we can
> understand how much time has passed:
>
> [ 0.0] Opening the source -i libvirt -ic
> vpx://vmwareuser%40domain@vcenter/DC/Cluster/Host?no_verify=1
> vmtoconvert
> [ 6.1] Creating an overlay to protect the source from being modified
> [ 7.4] Initializing the target -o vdsm -os
> /rhev/data-center/e8263fb4-114d-4706-b1c0-5defcd15d16b/a118578a-4cf2-4e0c-ac47-20e9f0321da1
> --vdsm-image-uuid 1a93e503-ce57-4631-8dd2-eeeae45866ca --vdsm-vol-uuid
> 88d92582-0f53-43b0-89ff-af1c17ea8618 --vdsm-vm-uuid
> 1434e14f-e228-41c1-b769-dcf48b258b12 --vdsm-ovf-output
> /var/run/vdsm/v2v
> [ 7.4] Opening the overlay
> [00034ms] /usr/libexec/qemu-kvm \
> [ 0.000000] Initializing cgroup subsys cpu
> [ 0.000000] Initializing cgroup subsys cpuacct
> [ 0.000000] Linux version 3.10.0-693.11.1.el7.x86_64
> (mockbuild(a)x86-041.build.eng.bos.redhat.com) (gcc version 4.8.5
> 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Fri Oct 27 05:39:05 EDT
> 2017
> [ 0.000000] Command line: panic=1 console=ttyS0 edd=off
> udevtimeout=6000 udev.event-timeout=6000 no_timer_check printk.time=1
> cgroup_disable=memory usbcore.nousb cryptomgr.notests tsc=reliable
> 8250.nr_uarts=1 root=/dev/sdb selinux=0 guestfs_verbose=1
> guestfs_network=1 TERM=linux guestfs_identifier=v2v
> [ 0.000000] e820: BIOS-provided physical RAM map:
> [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009f7ff] usable
> [ 0.000000] BIOS-e820: [mem 0x000000000009f800-0x000000000009ffff] reserved
> [ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
> [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007cfddfff] usable
> [ 0.000000] BIOS-e820: [mem 0x000000007cfde000-0x000000007cffffff] reserved
> [ 0.000000] BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved
> [ 0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
> [ 0.000000] NX (Execute Disable) protection: active
> [ 0.000000] SMBIOS 2.8 present.
> [ 0.000000] Hypervisor detected: KVM
> [ 0.000000] e820: last_pfn = 0x7cfde max_arch_pfn = 0x400000000
> [ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
> [ 0.000000] found SMP MP-table at [mem 0x000f72f0-0x000f72ff]
> mapped at [ffff8800000f72f0]
> [ 0.000000] Using GB pages for direct mapping
> [ 0.000000] RAMDISK: [mem 0x7ccb2000-0x7cfcffff]
> [ 0.000000] Early table checksum verification disabled
> [ 0.000000] ACPI: RSDP 00000000000f70d0 00014 (v00 BOCHS )
> [ 0.000000] ACPI: RSDT 000000007cfe14d5 0002C (v01 BOCHS BXPCRSDT
> 00000001 BXPC 00000001)
> [ 0.000000] ACPI: FACP 000000007cfe13e9 00074 (v01 BOCHS BXPCFACP
> 00000001 BXPC 00000001)
> [ 0.000000] ACPI: DSDT 000000007cfe0040 013A9 (v01 BOCHS BXPCDSDT
> 00000001 BXPC 00000001)
> [ 0.000000] ACPI: FACS 000000007cfe0000 00040
> [ 0.000000] ACPI: APIC 000000007cfe145d 00078 (v01 BOCHS BXPCAPIC
> 00000001 BXPC 00000001)
> [ 0.000000] No NUMA configuration found
> [ 0.000000] Faking a node at [mem 0x0000000000000000-0x000000007cfddfff]
> [ 0.000000] NODE_DATA(0) allocated [mem 0x7cc8b000-0x7ccb1fff]
> [ 0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00
> [ 0.000000] kvm-clock: cpu 0, msr 0:7cc3b001, primary cpu clock
> [ 0.000000] kvm-clock: using sched offset of 1030608733 cycles
> [ 0.000000] Zone ranges:
> [ 0.000000] DMA [mem 0x00001000-0x00ffffff]
> [ 0.000000] DMA32 [mem 0x01000000-0xffffffff]
> [ 0.000000] Normal empty
> [ 0.000000] Movable zone start for each node
> [ 0.000000] Early memory node ranges
> [ 0.000000] node 0: [mem 0x00001000-0x0009efff]
> [ 0.000000] node 0: [mem 0x00100000-0x7cfddfff]
> [ 0.000000] Initmem setup node 0 [mem 0x00001000-0x7cfddfff]
> [ 0.000000] ACPI: PM-Timer IO Port: 0x608
> [ 0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
> [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
> [ 0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
> [ 0.000000] IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23
> [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
> [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
> [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
> [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
> [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
> [ 0.000000] Using ACPI (MADT) for SMP configuration information
> [ 0.000000] smpboot: Allowing 1 CPUs, 0 hotplug CPUs
> [ 0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
> [ 0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000effff]
> [ 0.000000] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff]
> [ 0.000000] e820: [mem 0x7d000000-0xfeffbfff] available for PCI devices
> [ 0.000000] Booting paravirtualized kernel on KVM
> [ 0.000000] setup_percpu: NR_CPUS:5120 nr_cpumask_bits:1
> nr_cpu_ids:1 nr_node_ids:1
> [ 0.000000] PERCPU: Embedded 33 pages/cpu @ffff88007ca00000 s97048
> r8192 d29928 u2097152
> [ 0.000000] KVM setup async PF for cpu 0
> [ 0.000000] kvm-stealtime: cpu 0, msr 7ca0f440
> [ 0.000000] PV qspinlock hash table entries: 256 (order: 0, 4096 bytes)
> [ 0.000000] Built 1 zonelists in Node order, mobility grouping on.
> Total pages: 503847
> [ 0.000000] Policy zone: DMA32
> [ 0.000000] Kernel command line: panic=1 console=ttyS0 edd=off
> udevtimeout=6000 udev.event-timeout=6000 no_timer_check printk.time=1
> cgroup_disable=memory usbcore.nousb cryptomgr.notests tsc=reliable
> 8250.nr_uarts=1 root=/dev/sdb selinux=0 guestfs_verbose=1
> guestfs_network=1 TERM=linux guestfs_identifier=v2v
> [ 0.000000] Disabling memory control group subsystem
> [ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
> [ 0.000000] x86/fpu: xstate_offset[2]: 0240, xstate_sizes[2]: 0100
> [ 0.000000] xsave: enabled xstate_bv 0x7, cntxt size 0x340 using
> standard form
> [ 0.000000] Memory: 1994224k/2047864k available (6886k kernel code,
> 392k absent, 53248k reserved, 4545k data, 1764k init)
> [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
> [ 0.000000] Hierarchical RCU implementation.
> [ 0.000000] \tRCU restricting CPUs from NR_CPUS=5120 to nr_cpu_ids=1.
> [ 0.000000] NR_IRQS:327936 nr_irqs:256 0
> [ 0.000000] Console: colour *CGA 80x25
> [ 0.000000] console [ttyS0] enabled
> [ 0.000000] tsc: Detected 2099.998 MHz processor
> [ 0.065500] Calibrating delay loop (skipped) preset value.. 4199.99
> BogoMIPS (lpj=2099998)
> [ 0.066153] pid_max: default: 32768 minimum: 301
> [ 0.066548] Security Framework initialized
> [ 0.066872] SELinux: Disabled at boot.
> [ 0.067181] Yama: becoming mindful.
> [ 0.067622] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
> [ 0.068574] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
> [ 0.069290] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes)
> [ 0.069813] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes)
> [ 0.070525] Initializing cgroup subsys memory
> [ 0.070877] Initializing cgroup subsys devices
> [ 0.071237] Initializing cgroup subsys freezer
> [ 0.071589] Initializing cgroup subsys net_cls
> [ 0.071932] Initializing cgroup subsys blkio
> [ 0.072275] Initializing cgroup subsys perf_event
> [ 0.072644] Initializing cgroup subsys hugetlb
> [ 0.072984] Initializing cgroup subsys pids
> [ 0.073316] Initializing cgroup subsys net_prio
> [ 0.073721] CPU: Physical Processor ID: 0
> [ 0.074810] mce: CPU supports 10 MCE banks
> [ 0.075185] Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0
> [ 0.075621] Last level dTLB entries: 4KB 0, 2MB 0, 4MB 0
> [ 0.076030] tlb_flushall_shift: 6
> [ 0.085827] Freeing SMP alternatives: 24k freed
> [ 0.091125] ACPI: Core revision 20130517
> [ 0.091976] ACPI: All ACPI Tables successfully acquired
> [ 0.092448] ftrace: allocating 26586 entries in 104 pages
> [ 0.116144] smpboot: Max logical packages: 1
> [ 0.116640] Enabling x2apic
> [ 0.116863] Enabled x2apic
> [ 0.117290] Switched APIC routing to physical x2apic.
> [ 0.118588] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
> [ 0.119054] smpboot: CPU0: Intel(R) Xeon(R) CPU E5-2683 v4 @
> 2.10GHz (fam: 06, model: 4f, stepping: 01)
> [ 0.119813] Performance Events: 16-deep LBR, Broadwell events,
> Intel PMU driver.
> [ 0.121545] ... version: 2
> [ 0.121847] ... bit width: 48
> [ 0.122161] ... generic registers: 4
> [ 0.122472] ... value mask: 0000ffffffffffff
> [ 0.122874] ... max period: 000000007fffffff
> [ 0.123276] ... fixed-purpose events: 3
> [ 0.123584] ... event mask: 000000070000000f
> [ 0.124004] KVM setup paravirtual spinlock
> [ 0.125379] Brought up 1 CPUs
> [ 0.125616] smpboot: Total of 1 processors activated (4199.99 BogoMIPS)
> [ 0.126464] devtmpfs: initialized
> [ 0.128347] EVM: security.selinux
> [ 0.128608] EVM: security.ima
> [ 0.128835] EVM: security.capability
> [ 0.129796] atomic64 test passed for x86-64 platform with CX8 and with SSE
> [ 0.130333] pinctrl core: initialized pinctrl subsystem
> [ 0.130805] RTC time: 20:26:38, date: 01/24/18
> [ 0.131217] NET: Registered protocol family 16
> [ 0.131774] ACPI: bus type PCI registered
> [ 0.132096] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
> [ 0.132660] PCI: Using configuration type 1 for base access
> [ 0.133830] ACPI: Added _OSI(Module Device)
> [ 0.134170] ACPI: Added _OSI(Processor Device)
> [ 0.134514] ACPI: Added _OSI(3.0 _SCP Extensions)
> [ 0.134872] ACPI: Added _OSI(Processor Aggregator Device)
> [ 0.137001] ACPI: Interpreter enabled
> [ 0.137303] ACPI: (supports S0 S5)
> [ 0.137573] ACPI: Using IOAPIC for interrupt routing
> [ 0.137971] PCI: Using host bridge windows from ACPI; if necessary,
> use "pci=nocrs" and report a bug
> [ 0.140442] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
> [ 0.140917] acpi PNP0A03:00: _OSC: OS supports [ASPM ClockPM Segments MSI]
> [ 0.141446] acpi PNP0A03:00: _OSC failed (AE_NOT_FOUND); disabling ASPM
> [ 0.141961] acpi PNP0A03:00: fail to add MMCONFIG information,
> can't access extended PCI configuration space under this bridge.
> [ 0.142997] acpiphp: Slot [2] registered
> [ 0.143309] acpiphp: Slot [3] registered
> [ 0.143625] acpiphp: Slot [4] registered
> [ 0.143949] acpiphp: Slot [5] registered
> [ 0.144260] acpiphp: Slot [6] registered
> [ 0.144575] acpiphp: Slot [7] registered
> [ 0.144887] acpiphp: Slot [8] registered
> [ 0.145205] acpiphp: Slot [9] registered
> [ 0.145523] acpiphp: Slot [10] registered
> [ 0.145841] acpiphp: Slot [11] registered
> [ 0.146161] acpiphp: Slot [12] registered
> [ 0.146642] acpiphp: Slot [13] registered
> [ 0.146960] acpiphp: Slot [14] registered
> [ 0.147279] acpiphp: Slot [15] registered
> [ 0.147602] acpiphp: Slot [16] registered
> [ 0.147934] acpiphp: Slot [17] registered
> [ 0.148255] acpiphp: Slot [18] registered
> [ 0.148579] acpiphp: Slot [19] registered
> [ 0.148896] acpiphp: Slot [20] registered
> [ 0.149219] acpiphp: Slot [21] registered
> [ 0.149546] acpiphp: Slot [22] registered
> [ 0.149863] acpiphp: Slot [23] registered
> [ 0.150178] acpiphp: Slot [24] registered
> [ 0.150505] acpiphp: Slot [25] registered
> [ 0.150824] acpiphp: Slot [26] registered
> [ 0.151139] acpiphp: Slot [27] registered
> [ 0.151461] acpiphp: Slot [28] registered
> [ 0.151786] acpiphp: Slot [29] registered
> [ 0.152104] acpiphp: Slot [30] registered
> [ 0.152426] acpiphp: Slot [31] registered
> [ 0.152741] PCI host bridge to bus 0000:00
> [ 0.153059] pci_bus 0000:00: root bus resource [bus 00-ff]
> [ 0.153478] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]
> [ 0.153991] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window]
> [ 0.154508] pci_bus 0000:00: root bus resource [mem
> 0x000a0000-0x000bffff window]
> [ 0.155072] pci_bus 0000:00: root bus resource [mem
> 0x7d000000-0xfebfffff window]
> [ 0.162550] pci 0000:00:01.1: legacy IDE quirk: reg 0x10: [io 0x01f0-0x01f7]
> [ 0.163097] pci 0000:00:01.1: legacy IDE quirk: reg 0x14: [io 0x03f6]
> [ 0.163590] pci 0000:00:01.1: legacy IDE quirk: reg 0x18: [io 0x0170-0x0177]
> [ 0.164129] pci 0000:00:01.1: legacy IDE quirk: reg 0x1c: [io 0x0376]
> [ 0.165004] pci 0000:00:01.3: quirk: [io 0x0600-0x063f] claimed by
> PIIX4 ACPI
> [ 0.165564] pci 0000:00:01.3: quirk: [io 0x0700-0x070f] claimed by PIIX4 SMB
> [ 0.223140] ACPI: PCI Interrupt Link [LNKA] (IRQs 5 *10 11)
> [ 0.223712] ACPI: PCI Interrupt Link [LNKB] (IRQs 5 *10 11)
> [ 0.224245] ACPI: PCI Interrupt Link [LNKC] (IRQs 5 10 *11)
> [ 0.224789] ACPI: PCI Interrupt Link [LNKD] (IRQs 5 10 *11)
> [ 0.225296] ACPI: PCI Interrupt Link [LNKS] (IRQs *9)
> [ 0.225817] ACPI: Enabled 2 GPEs in block 00 to 0F
> [ 0.226262] vgaarb: loaded
> [ 0.227000] SCSI subsystem initialized
> [ 0.227314] ACPI: bus type USB registered
> [ 0.227640] usbcore: registered new interface driver usbfs
> [ 0.228068] usbcore: registered new interface driver hub
> [ 0.228487] usbcore: registered new device driver usb
> [ 0.228936] PCI: Using ACPI for IRQ routing
> [ 0.229436] NetLabel: Initializing
> [ 0.230112] NetLabel: domain hash size = 128
> [ 0.230455] NetLabel: protocols = UNLABELED CIPSOv4
> [ 0.230843] NetLabel: unlabeled traffic allowed by default
> [ 0.231317] amd_nb: Cannot enumerate AMD northbridges
> [ 0.231722] Switched to clocksource kvm-clock
> [ 0.235503] pnp: PnP ACPI init
> [ 0.235767] ACPI: bus type PNP registered
> [ 0.236396] pnp: PnP ACPI: found 5 devices
> [ 0.236716] ACPI: bus type PNP unregistered
> [ 0.242333] NET: Registered protocol family 2
> [ 0.242806] TCP established hash table entries: 16384 (order: 5,
> 131072 bytes)
> [ 0.243384] TCP bind hash table entries: 16384 (order: 6, 262144 bytes)
> [ 0.243907] TCP: Hash tables configured (established 16384 bind 16384)
> [ 0.244414] TCP: reno registered
> [ 0.244668] UDP hash table entries: 1024 (order: 3, 32768 bytes)
> [ 0.245130] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
> [ 0.245656] NET: Registered protocol family 1
> [ 0.246013] pci 0000:00:00.0: Limiting direct PCI/PCI transfers
> [ 0.246473] pci 0000:00:01.0: PIIX3: Enabling Passive Release
> [ 0.246924] pci 0000:00:01.0: Activating ISA DMA hang workarounds
> [ 0.247457] Unpacking initramfs...
> [ 0.249930] Freeing initrd memory: 3192k freed
> [ 0.251174] sha1_ssse3: Using AVX optimized SHA-1 implementation
> [ 0.251706] sha256_ssse3: Using AVX2 optimized SHA-256 implementation
> [ 0.252355] futex hash table entries: 256 (order: 2, 16384 bytes)
> [ 0.252836] Initialise system trusted keyring
> [ 0.253187] audit: initializing netlink socket (disabled)
> [ 0.253610] type=2000 audit(1516825598.479:1): initialized
> [ 0.275426] HugeTLB registered 1 GB page size, pre-allocated 0 pages
> [ 0.275927] HugeTLB registered 2 MB page size, pre-allocated 0 pages
> [ 0.277129] zpool: loaded
> [ 0.277350] zbud: loaded
> [ 0.277669] VFS: Disk quotas dquot_6.5.2
> [ 0.277998] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
> [ 0.278609] msgmni has been set to 3901
> [ 0.278956] Key type big_key registered
> [ 0.279450] NET: Registered protocol family 38
> [ 0.279810] Key type asymmetric registered
> [ 0.280125] Asymmetric key parser 'x509' registered
> [ 0.280523] Block layer SCSI generic (bsg) driver version 0.4
> loaded (major 250)
> [ 0.281107] io scheduler noop registered
> [ 0.281416] io scheduler deadline registered (default)
> [ 0.281839] io scheduler cfq registered
> [ 0.282216] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
> [ 0.282648] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
> [ 0.283250] input: Power Button as
> /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0
> [ 0.283835] ACPI: Power Button [PWRF]
> [ 0.284207] GHES: HEST is not enabled!
> [ 0.284534] Serial: 8250/16550 driver, 1 ports, IRQ sharing enabled
> [ 0.307889] 00:04: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
> [ 0.308457] Non-volatile memory driver v1.3
> [ 0.308809] Linux agpgart interface v0.103
> [ 0.309200] crash memory driver: version 1.1
> [ 0.309568] rdac: device handler registered
> [ 0.309913] hp_sw: device handler registered
> [ 0.310247] emc: device handler registered
> [ 0.310565] alua: device handler registered
> [ 0.310922] libphy: Fixed MDIO Bus: probed
> [ 0.311267] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> [ 0.311780] ehci-pci: EHCI PCI platform driver
> [ 0.312129] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
> [ 0.312609] ohci-pci: OHCI PCI platform driver
> [ 0.312958] uhci_hcd: USB Universal Host Controller Interface driver
> [ 0.313474] usbcore: registered new interface driver usbserial
> [ 0.313926] usbcore: registered new interface driver usbserial_generic
> [ 0.314428] usbserial: USB Serial support registered for generic
> [ 0.314911] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU]
> at 0x60,0x64 irq 1,12
> [ 0.316032] serio: i8042 KBD port at 0x60,0x64 irq 1
> [ 0.316418] serio: i8042 AUX port at 0x60,0x64 irq 12
> [ 0.316857] mousedev: PS/2 mouse device common for all mice
> [ 0.317468] input: AT Translated Set 2 keyboard as
> /devices/platform/i8042/serio0/input/input1
> [ 0.318561] input: VirtualPS/2 VMware VMMouse as
> /devices/platform/i8042/serio1/input/input2
> [ 0.319363] input: VirtualPS/2 VMware VMMouse as
> /devices/platform/i8042/serio1/input/input3
> [ 0.320042] rtc_cmos 00:00: RTC can wake from S4
> [ 0.320573] rtc_cmos 00:00: rtc core: registered rtc_cmos as rtc0
> [ 0.321099] rtc_cmos 00:00: alarms up to one day, y3k, 114 bytes nvram
> [ 0.321632] cpuidle: using governor menu
> [ 0.321989] hidraw: raw HID events driver (C) Jiri Kosina
> [ 0.322467] usbcore: registered new interface driver usbhid
> [ 0.322894] usbhid: USB HID core driver
> [ 0.323734] drop_monitor: Initializing network drop monitor service
> [ 0.324272] TCP: cubic registered
> [ 0.324537] Initializing XFRM netlink socket
> [ 0.324936] NET: Registered protocol family 10
> [ 0.325410] NET: Registered protocol family 17
> [ 0.325872] microcode: CPU0 sig=0x406f1, pf=0x1, revision=0x1
> [ 0.326331] microcode: Microcode Update Driver: v2.01
> <tigran(a)aivazian.fsnet.co.uk>, Peter Oruba
> [ 0.327060] Loading compiled-in X.509 certificates
> [ 0.327855] Loaded X.509 cert 'Red Hat Enterprise Linux Driver
> Update Program (key 3): bf57f3e87362bc7229d9f465321773dfd1f77a80'
> [ 0.329151] Loaded X.509 cert 'Red Hat Enterprise Linux kpatch
> signing key: 4d38fd864ebe18c5f0b72e3852e2014c3a676fc8'
> [ 0.330379] Loaded X.509 cert 'Red Hat Enterprise Linux kernel
> signing key: 34fc3b85a61b8fead6e9e905e7e602a1f7fa049a'
> [ 0.331196] registered taskstats version 1
> [ 0.331639] Key type trusted registered
> [ 0.332056] Key type encrypted registered
> [ 0.332920] IMA: No TPM chip found, activating TPM-bypass!
> [ 0.333605] Magic number: 2:270:448
> [ 0.333970] rtc_cmos 00:00: setting system clock to 2018-01-24
> 20:26:38 UTC (1516825598)
> [ 0.335302] Freeing unused kernel memory: 1764k freed
> [ 0.339427] alg: No test for crc32 (crc32-pclmul)
> [ 0.342995] alg: No test for crc32 (crc32-generic)
> [ 0.352535] scsi host0: ata_piix
> [ 0.352853] scsi host1: ata_piix
> [ 0.353127] ata1: PATA max MWDMA2 cmd 0x1f0 ctl 0x3f6 bmdma 0xc0c0 irq 14
> [ 0.353645] ata2: PATA max MWDMA2 cmd 0x170 ctl 0x376 bmdma 0xc0c8 irq 15
> [ 0.541003] ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10
> [ 0.545766] random: fast init done
> [ 0.548737] random: crng init done
> [ 0.565923] ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
> [ 0.567592] scsi host2: Virtio SCSI HBA
> [ 0.569801] scsi 2:0:0:0: Direct-Access QEMU QEMU HARDDISK
> 2.5+ PQ: 0 ANSI: 5
> [ 0.570526] scsi 2:0:1:0: Direct-Access QEMU QEMU HARDDISK
> 2.5+ PQ: 0 ANSI: 5
> [ 0.580538] sd 2:0:0:0: [sda] 104857600 512-byte logical blocks:
> (53.6 GB/50.0 GiB)
> [ 0.581264] sd 2:0:1:0: [sdb] 8388608 512-byte logical blocks:
> (4.29 GB/4.00 GiB)
> [ 0.581894] sd 2:0:0:0: [sda] Write Protect is off
> [ 0.582312] sd 2:0:0:0: [sda] Write cache: enabled, read cache:
> enabled, doesn't support DPO or FUA
> [ 0.583032] sd 2:0:1:0: [sdb] Write Protect is off
> [ 0.583444] sd 2:0:1:0: [sdb] Write cache: enabled, read cache:
> enabled, doesn't support DPO or FUA
> [ 0.586373] sd 2:0:1:0: [sdb] Attached SCSI disk
> [ 0.602190] ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
> [ 0.636655] ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10
> [ 1.253809] tsc: Refined TSC clocksource calibration: 2099.994 MHz
> [ 1.510203] sda: sda1 sda2 sda3
> [ 1.511710] sd 2:0:0:0: [sda] Attached SCSI disk
> [ 1.528245] EXT4-fs (sdb): mounting ext2 file system using the ext4 subsystem
> [ 1.530353] EXT4-fs (sdb): mounted filesystem without journal. Opts:
> [/usr/lib/tmpfiles.d/systemd.conf:11] Unknown group 'utmp'.
> [/usr/lib/tmpfiles.d/systemd.conf:19] Unknown user 'systemd-network'.
> [/usr/lib/tmpfiles.d/systemd.conf:20] Unknown user 'systemd-network'.
> [/usr/lib/tmpfiles.d/systemd.conf:21] Unknown user 'systemd-network'.
> [/usr/lib/tmpfiles.d/systemd.conf:25] Unknown group 'systemd-journal'.
> [/usr/lib/tmpfiles.d/systemd.conf:26] Unknown group 'systemd-journal'.
> [ 1.650422] input: PC Speaker as /devices/platform/pcspkr/input/input4
> [ 1.655216] piix4_smbus 0000:00:01.3: SMBus Host Controller at
> 0x700, revision 0
> [ 1.694118] sd 2:0:0:0: Attached scsi generic sg0 type 0
> [ 1.696802] sd 2:0:1:0: Attached scsi generic sg1 type 0
> [ 1.698009] FDC 0 is a S82078B
> [ 1.710807] AES CTR mode by8 optimization enabled
> [ 1.724293] ppdev: user-space parallel port driver
> [ 1.732252] Error: Driver 'pcspkr' is already registered, aborting...
> [ 1.734673] alg: No test for __gcm-aes-aesni (__driver-gcm-aes-aesni)
> [ 1.746232] EDAC MC: Ver: 3.0.0
> [ 1.749324] EDAC sbridge: Ver: 1.1.1
> [ 25.658309] device-mapper: uevent: version 1.0.3
> [ 25.659092] device-mapper: ioctl: 4.35.0-ioctl (2016-06-23)
> initialised: dm-devel(a)redhat.com
> [ 57.8] Inspecting the overlay
> [ 51.302190] EXT4-fs (sda1): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 58.667082] EXT4-fs (dm-1): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 61.147593] EXT4-fs (dm-4): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 63.977572] EXT4-fs (dm-0): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 75.614795] EXT4-fs (dm-6): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 80.782266] EXT4-fs (dm-5): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 98.734329] EXT4-fs (dm-2): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 102.090148] EXT4-fs (dm-7): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 105.057661] EXT4-fs (dm-3): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 108.085788] EXT4-fs (dm-9): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 111.328257] EXT4-fs (dm-8): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 112.201934] EXT4-fs (dm-0): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 112.212101] EXT4-fs (dm-2): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 112.221689] EXT4-fs (dm-5): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 112.233016] EXT4-fs (dm-6): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 112.971075] EXT4-fs (dm-4): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 113.788961] EXT4-fs (dm-1): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 113.799156] EXT4-fs (sda1): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 113.811402] EXT4-fs (dm-3): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 113.823347] EXT4-fs (dm-9): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 115.345857] EXT4-fs (dm-7): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 115.356280] EXT4-fs (dm-8): mounted filesystem with ordered data
> mode. Opts: (null)
> [ 476.5] Checking for sufficient free disk space in the guest
> [ 476.5] Estimating space required on target for each disk
> [ 476.5] Converting Red Hat Enterprise Linux Server 7.4 (Maipo) to run on KVM
> [ 1072.265252] dracut[1565] No '/dev/log' or 'logger' included for
> syslog logging
> [ 1076.444899] dracut[1565] Executing: /sbin/dracut --verbose
> --add-drivers "virtio virtio_ring virtio_blk virtio_scsi virtio_net
> virtio_pci" /boot/initramfs-3.10.0-693.el7.x86_64.img
> 3.10.0-693.el7.x86_64
> [ 1104.118050] dracut[1565] dracut module 'busybox' will not be
> installed, because command 'busybox' could not be found!
> [ 1111.893587] dracut[1565] dracut module 'crypt' will not be
> installed, because command 'cryptsetup' could not be found!
> [ 1112.694542] dracut[1565] dracut module 'dmraid' will not be
> installed, because command 'dmraid' could not be found!
> [ 1117.763735] dracut[1565] dracut module 'mdraid' will not be
> installed, because command 'mdadm' could not be found!
> [ 1117.769004] dracut[1565] dracut module 'multipath' will not be
> installed, because command 'multipath' could not be found!
> [ 1122.366992] dracut[1565] dracut module 'cifs' will not be
> installed, because command 'mount.cifs' could not be found!
> [ 1122.387968] dracut[1565] dracut module 'iscsi' will not be
> installed, because command 'iscsistart' could not be found!
> [ 1122.390569] dracut[1565] dracut module 'iscsi' will not be
> installed, because command 'iscsi-iname' could not be found!
> [ 1140.889553] dracut[1565] dracut module 'busybox' will not be
> installed, because command 'busybox' could not be found!
> [ 1140.910458] dracut[1565] dracut module 'crypt' will not be
> installed, because command 'cryptsetup' could not be found!
> [ 1140.915646] dracut[1565] dracut module 'dmraid' will not be
> installed, because command 'dmraid' could not be found!
> [ 1140.924489] dracut[1565] dracut module 'mdraid' will not be
> installed, because command 'mdadm' could not be found!
> [ 1140.928995] dracut[1565] dracut module 'multipath' will not be
> installed, because command 'multipath' could not be found!
> [ 1140.939832] dracut[1565] dracut module 'cifs' will not be
> installed, because command 'mount.cifs' could not be found!
> [ 1140.954810] dracut[1565] dracut module 'iscsi' will not be
> installed, because command 'iscsistart' could not be found!
> [ 1140.957229] dracut[1565] dracut module 'iscsi' will not be
> installed, because command 'iscsi-iname' could not be found!
> [ 1142.066303] dracut[1565] *** Including module: bash ***
> [ 1142.073837] dracut[1565] *** Including module: nss-softokn ***
> [ 1143.838047] dracut[1565] *** Including module: i18n ***
> [ 1230.935044] dracut[1565] *** Including module: network ***
> [ 1323.749409] dracut[1565] *** Including module: ifcfg ***
> [ 1323.755682] dracut[1565] *** Including module: drm ***
> [ 1340.716219] dracut[1565] *** Including module: plymouth ***
> [ 1359.941093] dracut[1565] *** Including module: dm ***
> [ 1366.392221] dracut[1565] Skipping udev rule: 64-device-mapper.rules
> [ 1366.394670] dracut[1565] Skipping udev rule: 60-persistent-storage-dm.rules
> [ 1366.397021] dracut[1565] Skipping udev rule: 55-dm.rules
> [ 1375.796931] dracut[1565] *** Including module: kernel-modules ***
> [ 1627.998656] dracut[1565] *** Including module: lvm ***
> [ 1631.138460] dracut[1565] Skipping udev rule: 64-device-mapper.rules
> [ 1631.141015] dracut[1565] Skipping udev rule: 56-lvm.rules
> [ 1631.143409] dracut[1565] Skipping udev rule: 60-persistent-storage-lvm.rules
> [ 1635.270706] dracut[1565] *** Including module: qemu ***
> [ 1635.277842] dracut[1565] *** Including module: rootfs-block ***
> [ 1636.845616] dracut[1565] *** Including module: terminfo ***
> [ 1639.189294] dracut[1565] *** Including module: udev-rules ***
> [ 1640.076624] dracut[1565] Skipping udev rule: 40-redhat-cpu-hotplug.rules
> [ 1649.962889] dracut[1565] Skipping udev rule: 91-permissions.rules
> [ 1651.008527] dracut[1565] *** Including module: biosdevname ***
> [ 1651.921630] dracut[1565] *** Including module: systemd ***
> [ 1685.124521] dracut[1565] *** Including module: usrmount ***
> [ 1685.128532] dracut[1565] *** Including module: base ***
> [ 1694.743507] dracut[1565] *** Including module: fs-lib ***
> [ 1696.295216] dracut[1565] *** Including module: shutdown ***
> [ 1698.578228] dracut[1565] *** Including modules done ***
> [ 1699.586287] dracut[1565] *** Installing kernel module dependencies
> and firmware ***
> [ 1717.505952] dracut[1565] *** Installing kernel module dependencies
> and firmware done ***
> [ 1724.539224] dracut[1565] *** Resolving executable dependencies ***
> [ 1844.709874] dracut[1565] *** Resolving executable dependencies done***
> [ 1844.723313] dracut[1565] *** Hardlinking files ***
> [ 1847.281611] dracut[1565] *** Hardlinking files done ***
> [ 1847.284119] dracut[1565] *** Stripping files ***
> [ 1908.635888] dracut[1565] *** Stripping files done ***
> [ 1908.638262] dracut[1565] *** Generating early-microcode cpio image
> contents ***
> [ 1908.645054] dracut[1565] *** Constructing GenuineIntel.bin ****
> [ 1909.567397] dracut[1565] *** Store current command line parameters ***
> [ 1909.571686] dracut[1565] *** Creating image file ***
> [ 1909.574239] dracut[1565] *** Creating microcode section ***
> [ 1911.789907] dracut[1565] *** Created microcode section ***
> [ 1921.680575] dracut[1565] *** Creating image file done ***
> [ 1926.764407] dracut[1565] *** Creating initramfs image file
> '/boot/initramfs-3.10.0-693.el7.x86_64.img' done ***
> [1994.1] Mapping filesystem data to avoid copying unused and blank areas
> [ 1984.841231] EXT4-fs (dm-8): mounted filesystem with ordered data
> mode. Opts: discard
> [ 1987.252106] EXT4-fs (dm-9): mounted filesystem with ordered data
> mode. Opts: discard
> [ 1990.531305] EXT4-fs (dm-3): mounted filesystem with ordered data
> mode. Opts: discard
> [ 1992.903109] EXT4-fs (dm-7): mounted filesystem with ordered data
> mode. Opts: discard
> [ 1995.876230] EXT4-fs (dm-2): mounted filesystem with ordered data
> mode. Opts: discard
> [ 1995.986384] EXT4-fs (dm-5): mounted filesystem with ordered data
> mode. Opts: discard
> [ 1997.748087] EXT4-fs (dm-6): mounted filesystem with ordered data
> mode. Opts: discard
> [ 1997.785914] EXT4-fs (dm-0): mounted filesystem with ordered data
> mode. Opts: discard
> [ 1997.824003] EXT4-fs (dm-4): mounted filesystem with ordered data
> mode. Opts: discard
> [ 2000.172658] EXT4-fs (dm-1): mounted filesystem with ordered data
> mode. Opts: discard
> [ 2001.214202] EXT4-fs (sda1): mounted filesystem with ordered data
> mode. Opts: discard
> [2010.7] Closing the overlay
> [2010.7] Checking if the guest needs BIOS or UEFI to boot
> [2010.7] Assigning disks to buses
> [2010.7] Copying disk 1/1 to
> /rhev/data-center/e8263fb4-114d-4706-b1c0-5defcd15d16b/a118578a-4cf2-4e0c-ac47-20e9f0321da1/images/1a93e503-ce57-4631-8dd2-eeeae45866ca/88d92582-0f53-43b0-89ff-af1c17ea8618
> (raw)
> [7000.4] Creating output metadata
> [7000.4] Finishing off
>
> Any help is appreciated.
>
> Luca
>
>
>
> --
> "E' assurdo impiegare gli uomini di intelligenza eccellente per fare
> calcoli che potrebbero essere affidati a chiunque se si usassero delle
> macchine"
> Gottfried Wilhelm von Leibnitz, Filosofo e Matematico (1646-1716)
>
> "Internet è la più grande biblioteca del mondo.
> Ma il problema è che i libri sono tutti sparsi sul pavimento"
> John Allen Paulos, Matematico (1945-vivente)
>
> Luca 'remix_tj' Lorenzetto, http://www.remixtj.net , <lorenzetto.luca(a)gmail.com>
> _______________________________________________
> Users mailing list
> Users(a)ovirt.org
> http://lists.ovirt.org/mailman/listinfo/users
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW
6 years, 10 months