Richard W.M. Jones
2015-Jun-17 16:23 UTC
[Libguestfs] [PATCH] daemon: parted: Always use -s option even with -m.
See: https://bugzilla.redhat.com/show_bug.cgi?id=1232241#c3 --- daemon/parted.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daemon/parted.c b/daemon/parted.c index a36e4e7..59760b4 100644 --- a/daemon/parted.c +++ b/daemon/parted.c @@ -356,7 +356,7 @@ print_partition_table (const char *device, int r; if (PARTED_OPT_HAS_M == parted_has_m_opt) - r = command (&out, &err, str_parted, "-m", "--", device, + r = command (&out, &err, str_parted, "-m", "-s", "--", device, "unit", "b", "print", NULL); else -- 2.3.1
Richard W.M. Jones
2015-Jun-17 18:50 UTC
Re: [Libguestfs] [PATCH] daemon: parted: Always use -s option even with -m.
On Wed, Jun 17, 2015 at 05:23:53PM +0100, Richard W.M. Jones wrote:> See: https://bugzilla.redhat.com/show_bug.cgi?id=1232241#c3 > --- > daemon/parted.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/daemon/parted.c b/daemon/parted.c > index a36e4e7..59760b4 100644 > --- a/daemon/parted.c > +++ b/daemon/parted.c > @@ -356,7 +356,7 @@ print_partition_table (const char *device, > int r; > > if (PARTED_OPT_HAS_M == parted_has_m_opt) > - r = command (&out, &err, str_parted, "-m", "--", device, > + r = command (&out, &err, str_parted, "-m", "-s", "--", device, > "unit", "b", > "print", NULL);This breaks virt-alignment-scan. Not sure why yet. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-builder quickly builds VMs from scratch http://libguestfs.org/virt-builder.1.html
Richard W.M. Jones
2015-Jun-18 07:57 UTC
Re: [Libguestfs] [PATCH] daemon: parted: Always use -s option even with -m.
On Wed, Jun 17, 2015 at 07:50:11PM +0100, Richard W.M. Jones wrote:> On Wed, Jun 17, 2015 at 05:23:53PM +0100, Richard W.M. Jones wrote: > > See: https://bugzilla.redhat.com/show_bug.cgi?id=1232241#c3 > > --- > > daemon/parted.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/daemon/parted.c b/daemon/parted.c > > index a36e4e7..59760b4 100644 > > --- a/daemon/parted.c > > +++ b/daemon/parted.c > > @@ -356,7 +356,7 @@ print_partition_table (const char *device, > > int r; > > > > if (PARTED_OPT_HAS_M == parted_has_m_opt) > > - r = command (&out, &err, str_parted, "-m", "--", device, > > + r = command (&out, &err, str_parted, "-m", "-s", "--", device, > > "unit", "b", > > "print", NULL); > > This breaks virt-alignment-scan. Not sure why yet.It happens because adding -s changes the exit code of parted, so a previously hidden error is exposed, and that in turn breaks the part-list command when used on a blank disk. $ parted -m -s -- tests/guests/blank-disk.img unit b print Error: /home/rjones/d/libguestfs/tests/guests/blank-disk.img: unrecognised disk label BYT; /home/rjones/d/libguestfs/tests/guests/blank-disk.img:104857600B:file:512:512:unknown::; $ echo $? 1 $ parted -m -- tests/guests/blank-disk.img unit b print WARNING: You are not superuser. Watch out for permissions. Error: /home/rjones/d/libguestfs/tests/guests/blank-disk.img: unrecognised disk label BYT; /home/rjones/d/libguestfs/tests/guests/blank-disk.img:104857600B:file:512:512:unknown::; $ echo $? 0 This is why I hate parted. Anyway, I will post a v2 patch with this problem fixed. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into KVM guests. http://libguestfs.org/virt-v2v
Possibly Parallel Threads
- [PATCH v2 0/3] daemon: parted: Always use -s option even with -m.
- [PATCH 0/2] New API: part_get_part_type
- [PATCH 1/2] parted: introduce enum for whether parted has option -m
- Re: [PATCH] daemon: parted: Always use -s option even with -m.
- Re: [PATCH 1/2] parted: introduce enum for whether parted has option -m