The patch changes the order of the steps to search for fixed/supermin
appliance in accordance with documentation:
"If the fixed appliance is found, libguestfs skips supermin entirely
and just runs qemu with the kernel, initrd and root disk from the
fixed appliance."
Signed-off-by: Pavel Butsykin <pbutsykin(a)virtuozzo.com>
---
lib/appliance.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/lib/appliance.c b/lib/appliance.c
index f12918573..06ee06f71 100644
--- a/lib/appliance.c
+++ b/lib/appliance.c
@@ -137,16 +137,6 @@ build_appliance (guestfs_h *g,
CLEANUP_FREE char *path = NULL;
/* Step (1). */
- r = find_path (g, contains_supermin_appliance, NULL, &supermin_path);
- if (r == -1)
- return -1;
-
- if (r == 1)
- /* Step (2): build supermin appliance. */
- return build_supermin_appliance (g, supermin_path,
- kernel, initrd, appliance);
-
- /* Step (3). */
r = find_path (g, contains_fixed_appliance, NULL, &path);
if (r == -1)
return -1;
@@ -162,7 +152,7 @@ build_appliance (guestfs_h *g,
return 0;
}
- /* Step (4). */
+ /* Step (2). */
r = find_path (g, contains_old_style_appliance, NULL, &path);
if (r == -1)
return -1;
@@ -177,6 +167,16 @@ build_appliance (guestfs_h *g,
return 0;
}
+ /* Step (3). */
+ r = find_path (g, contains_supermin_appliance, NULL, &supermin_path);
+ if (r == -1)
+ return -1;
+
+ if (r == 1)
+ /* Step (4): build supermin appliance. */
+ return build_supermin_appliance (g, supermin_path,
+ kernel, initrd, appliance);
+
error (g, _("cannot find any suitable libguestfs supermin, fixed or old-style
appliance on LIBGUESTFS_PATH (search path: %s)"),
g->path);
return -1;
--
2.11.0