Accepting request 195729 from Virtualization
- Update to version 1.22.5 * full support for btrfs guests * large performance improvements in virt-df and virt-alignment-scan tools * many bug fixes * full release notes: http://libguestfs.org/guestfs-release-notes.1.html OBS-URL: https://build.opensuse.org/request/show/195729 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libguestfs?expand=0&rev=2
This commit is contained in:
commit
9477ca4060
@ -5,93 +5,30 @@ Subject: [PATCH] force virtio_blk in old guest kernel
|
|||||||
|
|
||||||
Signed-off-by: Olaf Hering <olaf@aepfle.de>
|
Signed-off-by: Olaf Hering <olaf@aepfle.de>
|
||||||
---
|
---
|
||||||
df/output.c | 13 +++++++++----
|
fish/options.c | 7 +++++--
|
||||||
fish/options.c | 8 +++++++-
|
src/guestfs-internal.h | 1 +
|
||||||
src/guestfs-internal.h | 2 ++
|
src/handle.c | 16 ++++++++++++++++
|
||||||
src/handle.c | 16 ++++++++++++++++
|
src/inspect-fs-unix.c | 4 ++--
|
||||||
src/inspect-fs-unix.c | 4 ++--
|
src/launch-direct.c | 2 ++
|
||||||
src/launch-appliance.c | 3 +++
|
5 files changed, 26 insertions(+), 4 deletions(-)
|
||||||
src/launch-libvirt.c | 7 +++++++
|
|
||||||
test-tool/test-tool.c | 16 +++++++++++++---
|
|
||||||
8 files changed, 59 insertions(+), 10 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/df/output.c b/df/output.c
|
Index: libguestfs-1.22.5/fish/options.c
|
||||||
index 5729dd4..fb33ca1 100644
|
===================================================================
|
||||||
--- a/df/output.c
|
--- libguestfs-1.22.5.orig/fish/options.c
|
||||||
+++ b/df/output.c
|
+++ libguestfs-1.22.5/fish/options.c
|
||||||
@@ -42,6 +42,7 @@
|
@@ -286,7 +286,10 @@ add_drives (struct drv *drv, char next_d
|
||||||
#include "virt-df.h"
|
int r;
|
||||||
|
struct guestfs_add_drive_opts_argv ad_optargs;
|
||||||
static void write_csv_field (const char *field);
|
char **server;
|
||||||
+static int use_virtio_blk;
|
-
|
||||||
|
+ int use_virtio_blk = 0;
|
||||||
void
|
|
||||||
print_title (void)
|
|
||||||
@@ -82,7 +83,7 @@ print_title (void)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-static char *adjust_device_offset (const char *device, int offset);
|
|
||||||
+static char *adjust_device_offset (guestfs_h *g, const char *device, int offset);
|
|
||||||
|
|
||||||
void
|
|
||||||
print_stat (const char *name, const char *uuid_param,
|
|
||||||
@@ -110,7 +111,7 @@ print_stat (const char *name, const char *uuid_param,
|
|
||||||
exit (EXIT_FAILURE);
|
|
||||||
if (offset >= 0) {
|
|
||||||
char *p = dev;
|
|
||||||
- dev = adjust_device_offset (p, offset);
|
|
||||||
+ dev = adjust_device_offset (g, p, offset);
|
|
||||||
free (p);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -237,8 +238,9 @@ write_csv_field (const char *field)
|
|
||||||
static char *drive_name (int index, char *ret);
|
|
||||||
|
|
||||||
static char *
|
|
||||||
-adjust_device_offset (const char *device, int offset)
|
|
||||||
+adjust_device_offset (guestfs_h *g, const char *device, int offset)
|
|
||||||
{
|
|
||||||
+ ;
|
|
||||||
int index;
|
|
||||||
int part_num;
|
|
||||||
char *whole_device;
|
|
||||||
@@ -282,7 +284,10 @@ adjust_device_offset (const char *device, int offset)
|
|
||||||
exit (EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
|
|
||||||
- strcpy (ret, "/dev/sd");
|
|
||||||
+#ifdef GUESTFS_QEMU_NO_VIRTIO_BLK
|
+#ifdef GUESTFS_QEMU_NO_VIRTIO_BLK
|
||||||
+ use_virtio_blk = 1;
|
+ use_virtio_blk = 1;
|
||||||
+#endif
|
+#endif
|
||||||
+ strcpy (ret, use_virtio_blk ? "/dev/vd" : "/dev/sd");
|
if (next_drive > 'z') {
|
||||||
drive_name (index, &ret[7]);
|
fprintf (stderr,
|
||||||
len = strlen (ret);
|
_("%s: too many drives added on the command line\n"),
|
||||||
if (part_num > 0)
|
@@ -300,7 +303,7 @@ add_drives (struct drv *drv, char next_d
|
||||||
diff --git a/fish/options.c b/fish/options.c
|
|
||||||
index 384ef43..74703ca 100644
|
|
||||||
--- a/fish/options.c
|
|
||||||
+++ b/fish/options.c
|
|
||||||
@@ -27,6 +27,8 @@
|
|
||||||
|
|
||||||
#include "options.h"
|
|
||||||
|
|
||||||
+static int use_virtio_blk;
|
|
||||||
+
|
|
||||||
char
|
|
||||||
add_drives (struct drv *drv, char next_drive)
|
|
||||||
{
|
|
||||||
@@ -40,13 +42,17 @@ add_drives (struct drv *drv, char next_drive)
|
|
||||||
exit (EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifdef GUESTFS_QEMU_NO_VIRTIO_BLK
|
|
||||||
+ use_virtio_blk = 1;
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
if (drv) {
|
|
||||||
next_drive = add_drives (drv->next, next_drive);
|
|
||||||
|
|
||||||
free (drv->device);
|
free (drv->device);
|
||||||
drv->device = NULL;
|
drv->device = NULL;
|
||||||
|
|
||||||
@ -100,25 +37,24 @@ index 384ef43..74703ca 100644
|
|||||||
perror ("asprintf");
|
perror ("asprintf");
|
||||||
exit (EXIT_FAILURE);
|
exit (EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h
|
Index: libguestfs-1.22.5/src/guestfs-internal.h
|
||||||
index 49341e2..1303a7e 100644
|
===================================================================
|
||||||
--- a/src/guestfs-internal.h
|
--- libguestfs-1.22.5.orig/src/guestfs-internal.h
|
||||||
+++ b/src/guestfs-internal.h
|
+++ libguestfs-1.22.5/src/guestfs-internal.h
|
||||||
@@ -318,6 +318,8 @@ struct guestfs_h
|
@@ -432,6 +432,7 @@ struct guestfs_h
|
||||||
virDomainPtr dom; /* libvirt domain */
|
char *virt_selinux_label;
|
||||||
} virt;
|
char *virt_selinux_imagelabel;
|
||||||
#endif
|
bool virt_selinux_norelabel_disks;
|
||||||
+
|
|
||||||
+ int use_virtio_blk;
|
+ int use_virtio_blk;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Per-filesystem data stored for inspect_os. */
|
/* Per-filesystem data stored for inspect_os. */
|
||||||
diff --git a/src/handle.c b/src/handle.c
|
Index: libguestfs-1.22.5/src/handle.c
|
||||||
index cb00a2e..b0d75c1 100644
|
===================================================================
|
||||||
--- a/src/handle.c
|
--- libguestfs-1.22.5.orig/src/handle.c
|
||||||
+++ b/src/handle.c
|
+++ libguestfs-1.22.5/src/handle.c
|
||||||
@@ -215,6 +215,22 @@ parse_environment (guestfs_h *g,
|
@@ -230,6 +230,22 @@ parse_environment (guestfs_h *g,
|
||||||
return -1;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
+/*
|
+/*
|
||||||
@ -140,11 +76,11 @@ index cb00a2e..b0d75c1 100644
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/inspect-fs-unix.c b/src/inspect-fs-unix.c
|
Index: libguestfs-1.22.5/src/inspect-fs-unix.c
|
||||||
index 40f797d..45d50ee 100644
|
===================================================================
|
||||||
--- a/src/inspect-fs-unix.c
|
--- libguestfs-1.22.5.orig/src/inspect-fs-unix.c
|
||||||
+++ b/src/inspect-fs-unix.c
|
+++ libguestfs-1.22.5/src/inspect-fs-unix.c
|
||||||
@@ -1370,7 +1370,7 @@ resolve_fstab_device_diskbyid (guestfs_h *g, const char *part,
|
@@ -1404,7 +1404,7 @@ resolve_fstab_device_diskbyid (guestfs_h
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* Make the partition name and check it exists. */
|
/* Make the partition name and check it exists. */
|
||||||
@ -153,7 +89,7 @@ index 40f797d..45d50ee 100644
|
|||||||
if (!is_partition (g, device)) {
|
if (!is_partition (g, device)) {
|
||||||
free (device);
|
free (device);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1447,7 +1447,7 @@ resolve_fstab_device (guestfs_h *g, const char *spec, Hash_table *md_map)
|
@@ -1481,7 +1481,7 @@ resolve_fstab_device (guestfs_h *g, cons
|
||||||
if (disk_i != -1 && disk_i <= 26 &&
|
if (disk_i != -1 && disk_i <= 26 &&
|
||||||
slice_i > 0 && slice_i <= 1 /* > 4 .. see comment above */ &&
|
slice_i > 0 && slice_i <= 1 /* > 4 .. see comment above */ &&
|
||||||
part_i >= 0 && part_i < 26) {
|
part_i >= 0 && part_i < 26) {
|
||||||
@ -162,79 +98,16 @@ index 40f797d..45d50ee 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ((part = match1 (g, spec, re_diskbyid)) != NULL) {
|
else if ((part = match1 (g, spec, re_diskbyid)) != NULL) {
|
||||||
diff --git a/src/launch-appliance.c b/src/launch-appliance.c
|
Index: libguestfs-1.22.5/src/launch-direct.c
|
||||||
index a86a8cc..1067d17 100644
|
===================================================================
|
||||||
--- a/src/launch-appliance.c
|
--- libguestfs-1.22.5.orig/src/launch-direct.c
|
||||||
+++ b/src/launch-appliance.c
|
+++ libguestfs-1.22.5/src/launch-direct.c
|
||||||
@@ -935,6 +935,9 @@ qemu_supports_virtio_scsi (guestfs_h *g)
|
@@ -961,6 +961,8 @@ qemu_supports_virtio_scsi (guestfs_h *g)
|
||||||
|
g->direct.virtio_scsi = 3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
+ if (g->use_virtio_blk)
|
||||||
|
+ g->direct.virtio_scsi = 2;
|
||||||
|
|
||||||
+ if (g->use_virtio_blk)
|
return g->direct.virtio_scsi == 1;
|
||||||
+ g->app.virtio_scsi = 2;
|
|
||||||
+
|
|
||||||
return g->app.virtio_scsi == 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/launch-libvirt.c b/src/launch-libvirt.c
|
|
||||||
index 6ad19de..b8efc4f 100644
|
|
||||||
--- a/src/launch-libvirt.c
|
|
||||||
+++ b/src/launch-libvirt.c
|
|
||||||
@@ -177,6 +177,13 @@ launch_libvirt (guestfs_h *g, const char *libvirt_uri)
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifdef GUESTFS_QEMU_NO_VIRTIO_BLK
|
|
||||||
+ if (g->use_virtio_blk) {
|
|
||||||
+ error (g, "Using libvirt is not possible with this binary package due to forced virtio-blk usage.");
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
guestfs___launch_send_progress (g, 0);
|
|
||||||
TRACE0 (launch_libvirt_start);
|
|
||||||
|
|
||||||
diff --git a/test-tool/test-tool.c b/test-tool/test-tool.c
|
|
||||||
index d71caed..58cc885 100644
|
|
||||||
--- a/test-tool/test-tool.c
|
|
||||||
+++ b/test-tool/test-tool.c
|
|
||||||
@@ -95,6 +95,16 @@ main (int argc, char *argv[])
|
|
||||||
guestfs_h *g;
|
|
||||||
char *qemu = NULL;
|
|
||||||
int qemu_use_wrapper;
|
|
||||||
+ char *disk_name, *partition_name;
|
|
||||||
+ int use_virtio_blk = 0;
|
|
||||||
+
|
|
||||||
+#ifdef GUESTFS_QEMU_NO_VIRTIO_BLK
|
|
||||||
+ use_virtio_blk = 1;
|
|
||||||
+#endif
|
|
||||||
+ if (asprintf(&disk_name, "/dev/%s", use_virtio_blk ? "vda" : "sda") < 0)
|
|
||||||
+ exit (EXIT_FAILURE);
|
|
||||||
+ if (asprintf(&partition_name, "%s1", disk_name) < 0)
|
|
||||||
+ exit (EXIT_FAILURE);
|
|
||||||
|
|
||||||
for (;;) {
|
|
||||||
c = getopt_long (argc, argv, options, long_options, &option_index);
|
|
||||||
@@ -281,19 +291,19 @@ main (int argc, char *argv[])
|
|
||||||
fflush (stdout);
|
|
||||||
|
|
||||||
/* Create the filesystem and mount everything. */
|
|
||||||
- if (guestfs_part_disk (g, "/dev/sda", "mbr") == -1) {
|
|
||||||
+ if (guestfs_part_disk (g, disk_name, "mbr") == -1) {
|
|
||||||
fprintf (stderr,
|
|
||||||
_("libguestfs-test-tool: failed to run part-disk\n"));
|
|
||||||
exit (EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (guestfs_mkfs (g, "ext2", "/dev/sda1") == -1) {
|
|
||||||
+ if (guestfs_mkfs (g, "ext2", partition_name) == -1) {
|
|
||||||
fprintf (stderr,
|
|
||||||
_("libguestfs-test-tool: failed to mkfs.ext2\n"));
|
|
||||||
exit (EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (guestfs_mount (g, "/dev/sda1", "/") == -1) {
|
|
||||||
+ if (guestfs_mount (g, partition_name, "/") == -1) {
|
|
||||||
fprintf (stderr,
|
|
||||||
_("libguestfs-test-tool: failed to mount /dev/sda1 on /\n"));
|
|
||||||
exit (EXIT_FAILURE);
|
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:25065a6fc1e4bcccda25368b1327d1cc779608b5afb10a0a8de47a8126fbfb54
|
|
||||||
size 3997156
|
|
3
libguestfs-1.22.5.tar.xz
Normal file
3
libguestfs-1.22.5.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:25d693128110a8936d7686d5f36308dc229ed1f7db6448f143497104cc895e9c
|
||||||
|
size 4148564
|
@ -1,3 +1,12 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 19 23:23:31 CEST 2013 - ohering@suse.de
|
||||||
|
|
||||||
|
- Update to version 1.22.5
|
||||||
|
* full support for btrfs guests
|
||||||
|
* large performance improvements in virt-df and virt-alignment-scan tools
|
||||||
|
* many bug fixes
|
||||||
|
* full release notes: http://libguestfs.org/guestfs-release-notes.1.html
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Aug 5 17:48:01 CEST 2013 - ohering@suse.de
|
Mon Aug 5 17:48:01 CEST 2013 - ohering@suse.de
|
||||||
|
|
||||||
|
@ -16,7 +16,9 @@
|
|||||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
#
|
#
|
||||||
|
|
||||||
Version: 1.20.10
|
|
||||||
|
Version: 1.22.5
|
||||||
|
Release: 0
|
||||||
|
|
||||||
%define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
|
%define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
|
||||||
%if !%opt
|
%if !%opt
|
||||||
@ -54,6 +56,11 @@ Version: 1.20.10
|
|||||||
%bcond_with ruby_bindings
|
%bcond_with ruby_bindings
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %suse_version >= 1230
|
||||||
|
%bcond_without bash_completion
|
||||||
|
%else
|
||||||
|
%bcond_with bash_completion
|
||||||
|
%endif
|
||||||
# The following defines are overridden in the individual subpackages
|
# The following defines are overridden in the individual subpackages
|
||||||
%define _configure_fuse --disable-fuse
|
%define _configure_fuse --disable-fuse
|
||||||
%define _configure_lua --disable-lua
|
%define _configure_lua --disable-lua
|
||||||
@ -95,6 +102,9 @@ BuildRequires: attr-devel
|
|||||||
BuildRequires: augeas-devel
|
BuildRequires: augeas-devel
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
|
%if %{with bash_completion}
|
||||||
|
BuildRequires: bash-completion >= 2.0
|
||||||
|
%endif
|
||||||
BuildRequires: file-devel
|
BuildRequires: file-devel
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
@ -106,6 +116,7 @@ BuildRequires: libconfig-devel
|
|||||||
%endif
|
%endif
|
||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
BuildRequires: libvirt-devel >= 0.10.2
|
BuildRequires: libvirt-devel >= 0.10.2
|
||||||
|
BuildRequires: libxml2-devel
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
%if %{with perl_bindings}
|
%if %{with perl_bindings}
|
||||||
%if %suse_version < 1140
|
%if %suse_version < 1140
|
||||||
@ -136,7 +147,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|||||||
Summary: Compatibility package for guestfs-tools
|
Summary: Compatibility package for guestfs-tools
|
||||||
License: GPL-2.0
|
License: GPL-2.0
|
||||||
Group: System/Filesystems
|
Group: System/Filesystems
|
||||||
Release: 0
|
|
||||||
Patch1000: 1000-force-virtio_blk-in-old-guest-kernel.patch
|
Patch1000: 1000-force-virtio_blk-in-old-guest-kernel.patch
|
||||||
Source0: %{name}-%{version}.tar.xz
|
Source0: %{name}-%{version}.tar.xz
|
||||||
Source789653: Pod-Simple-3.23.tar.xz
|
Source789653: Pod-Simple-3.23.tar.xz
|
||||||
@ -179,7 +189,6 @@ Requires: perl(Locale::TextDomain)
|
|||||||
Requires: perl(Pod::Usage)
|
Requires: perl(Pod::Usage)
|
||||||
Requires: perl(String::ShellQuote)
|
Requires: perl(String::ShellQuote)
|
||||||
Requires: perl(Sys::Guestfs)
|
Requires: perl(Sys::Guestfs)
|
||||||
Requires: perl(Sys::Guestfs::Lib)
|
|
||||||
%{perl_requires}
|
%{perl_requires}
|
||||||
%if %{with hivex}
|
%if %{with hivex}
|
||||||
Requires: perl(Win::Hivex)
|
Requires: perl(Win::Hivex)
|
||||||
@ -747,7 +756,9 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_sbindir}/libguestfs-make-fixed-appliance
|
%{_sbindir}/libguestfs-make-fixed-appliance
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
%config(noreplace) /etc/libguestfs-tools.conf
|
%config(noreplace) /etc/libguestfs-tools.conf
|
||||||
%config(noreplace) /etc/bash_completion.d/guestfish-bash-completion.sh
|
%if %{with bash_completion}
|
||||||
|
%{_datadir}/bash-completion
|
||||||
|
%endif
|
||||||
%{_mandir}/man1/*
|
%{_mandir}/man1/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
Loading…
Reference in New Issue
Block a user