[Libguestfs] [PATCH] parted: Don't return "loop" for non-partitioned devices (RHBZ#634246).
Richard W.M. Jones
rjones at redhat.com
Mon Oct 18 12:00:04 UTC 2010
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages. http://et.redhat.com/~rjones/libguestfs/
See what it can do: http://et.redhat.com/~rjones/libguestfs/recipes.html
-------------- next part --------------
>From b3d27793f04ae44b2c11f6422a19b4422ac941cd Mon Sep 17 00:00:00 2001
From: Richard W.M. Jones <rjones at redhat.com>
Date: Mon, 18 Oct 2010 12:56:54 +0100
Subject: [PATCH] parted: Don't return "loop" for non-partitioned devices (RHBZ#634246).
If you ran part-get-parttype command on a device which didn't
contain a partition, it used to return the string "loop". This
is an internal representation that parted uses. We should instead
return an error because part-get-parttype makes no sense for
devices which are not partitioned.
---
daemon/parted.c | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/daemon/parted.c b/daemon/parted.c
index 89cc0d6..068384e 100644
--- a/daemon/parted.c
+++ b/daemon/parted.c
@@ -378,6 +378,14 @@ do_part_get_parttype (const char *device)
}
free_strings (lines);
+
+ /* If "loop" return an error (RHBZ#634246). */
+ if (STREQ (r, "loop")) {
+ free (r);
+ reply_with_error ("not a partitioned device");
+ return NULL;
+ }
+
return r;
}
else {
@@ -406,6 +414,13 @@ do_part_get_parttype (const char *device)
return NULL;
}
+ /* If "loop" return an error (RHBZ#634246). */
+ if (STREQ (p, "loop")) {
+ free (p);
+ reply_with_error ("not a partitioned device");
+ return NULL;
+ }
+
return p; /* caller frees */
}
}
--
1.7.3.1
More information about the Libguestfs
mailing list