forked from pool/libguestfs
Update test-tool to handle virtio-blk in 11.4 builds
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libguestfs?expand=0&rev=267
This commit is contained in:
parent
131e6872cd
commit
12c4282154
@ -1,4 +1,4 @@
|
|||||||
From 592819524390bc354d16940107e4c22ca41e48b9 Mon Sep 17 00:00:00 2001
|
From 6ad9fa64944b23817e8fa642c81fc3ecc93a3464 Mon Sep 17 00:00:00 2001
|
||||||
From: Olaf Hering <olaf@aepfle.de>
|
From: Olaf Hering <olaf@aepfle.de>
|
||||||
Date: Mon, 3 Sep 2012 19:50:44 +0200
|
Date: Mon, 3 Sep 2012 19:50:44 +0200
|
||||||
Subject: force virtio_blk in old guest kernel
|
Subject: force virtio_blk in old guest kernel
|
||||||
@ -10,13 +10,14 @@ Signed-off-by: Olaf Hering <olaf@aepfle.de>
|
|||||||
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-direct.c | 2 ++
|
||||||
5 files changed, 26 insertions(+), 4 deletions(-)
|
test-tool/test-tool.c | 15 ++++++++++++---
|
||||||
|
6 files changed, 38 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
diff --git a/fish/options.c b/fish/options.c
|
diff --git a/fish/options.c b/fish/options.c
|
||||||
index 75d61ad..b0bcd09 100644
|
index 770576b..6f143e1 100644
|
||||||
--- a/fish/options.c
|
--- a/fish/options.c
|
||||||
+++ b/fish/options.c
|
+++ b/fish/options.c
|
||||||
@@ -80,7 +80,10 @@ add_drives (struct drv *drv, char next_drive)
|
@@ -100,7 +100,10 @@ add_drives (struct drv *drv, char next_drive)
|
||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
struct guestfs_add_drive_opts_argv ad_optargs;
|
struct guestfs_add_drive_opts_argv ad_optargs;
|
||||||
@ -28,7 +29,7 @@ index 75d61ad..b0bcd09 100644
|
|||||||
if (next_drive > 'z') {
|
if (next_drive > 'z') {
|
||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
_("%s: too many drives added on the command line\n"),
|
_("%s: too many drives added on the command line\n"),
|
||||||
@@ -94,7 +97,7 @@ add_drives (struct drv *drv, char next_drive)
|
@@ -114,7 +117,7 @@ add_drives (struct drv *drv, char next_drive)
|
||||||
free (drv->device);
|
free (drv->device);
|
||||||
drv->device = NULL;
|
drv->device = NULL;
|
||||||
|
|
||||||
@ -38,7 +39,7 @@ index 75d61ad..b0bcd09 100644
|
|||||||
exit (EXIT_FAILURE);
|
exit (EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h
|
diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h
|
||||||
index 5356920..2a9f9fe 100644
|
index 8888603..d4f6e90 100644
|
||||||
--- a/src/guestfs-internal.h
|
--- a/src/guestfs-internal.h
|
||||||
+++ b/src/guestfs-internal.h
|
+++ b/src/guestfs-internal.h
|
||||||
@@ -472,6 +472,7 @@ struct guestfs_h
|
@@ -472,6 +472,7 @@ struct guestfs_h
|
||||||
@ -50,7 +51,7 @@ index 5356920..2a9f9fe 100644
|
|||||||
|
|
||||||
/* Per-filesystem data stored for inspect_os. */
|
/* Per-filesystem data stored for inspect_os. */
|
||||||
diff --git a/src/handle.c b/src/handle.c
|
diff --git a/src/handle.c b/src/handle.c
|
||||||
index fa96d95..e1732d7 100644
|
index fffe825..4633df6 100644
|
||||||
--- a/src/handle.c
|
--- a/src/handle.c
|
||||||
+++ b/src/handle.c
|
+++ b/src/handle.c
|
||||||
@@ -237,6 +237,22 @@ parse_environment (guestfs_h *g,
|
@@ -237,6 +237,22 @@ parse_environment (guestfs_h *g,
|
||||||
@ -77,10 +78,10 @@ index fa96d95..e1732d7 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/inspect-fs-unix.c b/src/inspect-fs-unix.c
|
diff --git a/src/inspect-fs-unix.c b/src/inspect-fs-unix.c
|
||||||
index 8e0f135..83d23c7 100644
|
index 93e035f..6d38bf8 100644
|
||||||
--- a/src/inspect-fs-unix.c
|
--- a/src/inspect-fs-unix.c
|
||||||
+++ b/src/inspect-fs-unix.c
|
+++ b/src/inspect-fs-unix.c
|
||||||
@@ -1407,7 +1407,7 @@ resolve_fstab_device_diskbyid (guestfs_h *g, const char *part,
|
@@ -1419,7 +1419,7 @@ resolve_fstab_device_diskbyid (guestfs_h *g, const char *part,
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* Make the partition name and check it exists. */
|
/* Make the partition name and check it exists. */
|
||||||
@ -89,7 +90,7 @@ index 8e0f135..83d23c7 100644
|
|||||||
if (!is_partition (g, device)) {
|
if (!is_partition (g, device)) {
|
||||||
free (device);
|
free (device);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1500,7 +1500,7 @@ resolve_fstab_device (guestfs_h *g, const char *spec, Hash_table *md_map)
|
@@ -1512,7 +1512,7 @@ resolve_fstab_device (guestfs_h *g, const char *spec, Hash_table *md_map)
|
||||||
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) {
|
||||||
@ -99,10 +100,10 @@ index 8e0f135..83d23c7 100644
|
|||||||
}
|
}
|
||||||
else if ((part = match1 (g, spec, re_diskbyid)) != NULL) {
|
else if ((part = match1 (g, spec, re_diskbyid)) != NULL) {
|
||||||
diff --git a/src/launch-direct.c b/src/launch-direct.c
|
diff --git a/src/launch-direct.c b/src/launch-direct.c
|
||||||
index 070c649..a4c94e8 100644
|
index f44cc20..d212b87 100644
|
||||||
--- a/src/launch-direct.c
|
--- a/src/launch-direct.c
|
||||||
+++ b/src/launch-direct.c
|
+++ b/src/launch-direct.c
|
||||||
@@ -1068,6 +1068,8 @@ qemu_supports_virtio_scsi (guestfs_h *g, struct backend_direct_data *data)
|
@@ -1066,6 +1066,8 @@ qemu_supports_virtio_scsi (guestfs_h *g, struct backend_direct_data *data)
|
||||||
data->virtio_scsi = 3;
|
data->virtio_scsi = 3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -111,3 +112,53 @@ index 070c649..a4c94e8 100644
|
|||||||
|
|
||||||
return data->virtio_scsi == 1;
|
return data->virtio_scsi == 1;
|
||||||
}
|
}
|
||||||
|
diff --git a/test-tool/test-tool.c b/test-tool/test-tool.c
|
||||||
|
index 3a35226..03565ac 100644
|
||||||
|
--- a/test-tool/test-tool.c
|
||||||
|
+++ b/test-tool/test-tool.c
|
||||||
|
@@ -44,6 +44,14 @@
|
||||||
|
|
||||||
|
#define DEFAULT_TIMEOUT 600
|
||||||
|
|
||||||
|
+#ifdef GUESTFS_QEMU_NO_VIRTIO_BLK
|
||||||
|
+static const char disk[] = "/dev/vda";
|
||||||
|
+static const char part[] = "/dev/vda1";
|
||||||
|
+#else
|
||||||
|
+static const char disk[] = "/dev/sda";
|
||||||
|
+static const char part[] = "/dev/sda1";
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
static int timeout = DEFAULT_TIMEOUT;
|
||||||
|
|
||||||
|
static void set_qemu (guestfs_h *g, const char *path, int use_wrapper);
|
||||||
|
@@ -186,6 +194,7 @@ main (int argc, char *argv[])
|
||||||
|
exit (EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
guestfs_set_verbose (g, 1);
|
||||||
|
+ guestfs_set_trace (g, 1);
|
||||||
|
|
||||||
|
if (qemu)
|
||||||
|
set_qemu (g, qemu, qemu_use_wrapper);
|
||||||
|
@@ -272,19 +281,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, "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", part) == -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, part, "/") == -1) {
|
||||||
|
fprintf (stderr,
|
||||||
|
_("libguestfs-test-tool: failed to mount /dev/sda1 on /\n"));
|
||||||
|
exit (EXIT_FAILURE);
|
||||||
|
Loading…
Reference in New Issue
Block a user