summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2012-03-15 10:30:21 +0000
committerRichard W.M. Jones <rjones@redhat.com>2012-03-15 16:15:45 +0000
commitb05611d8efbfad10518fe874d53292c6a1b7f2b9 (patch)
tree481ea3691bca66a0f2ed0e3868a221849486f0e1
parent79c4ecc0f398d4317a3713e0691df873a7d4b663 (diff)
downloadlibguestfs-b05611d8efbfad10518fe874d53292c6a1b7f2b9.tar.gz
libguestfs-b05611d8efbfad10518fe874d53292c6a1b7f2b9.tar.xz
libguestfs-b05611d8efbfad10518fe874d53292c6a1b7f2b9.zip
Use the new lvcreate-free API to create largest possible LVs.
-rw-r--r--daemon/lvm.c2
-rw-r--r--fish/prep_boot.c10
-rw-r--r--fish/prep_lv.c20
-rw-r--r--format/format.c5
-rw-r--r--sparsify/sparsify.ml5
5 files changed, 9 insertions, 33 deletions
diff --git a/daemon/lvm.c b/daemon/lvm.c
index b0148e48..9103a33d 100644
--- a/daemon/lvm.c
+++ b/daemon/lvm.c
@@ -278,7 +278,7 @@ do_lvcreate_free (const char *logvol, const char *volgroup, int percent)
r = command (NULL, &err,
"lvm", "lvcreate",
- "-L", size, "-n", logvol, volgroup, NULL);
+ "-l", size, "-n", logvol, volgroup, NULL);
if (r == -1) {
reply_with_error ("%s", err);
free (err);
diff --git a/fish/prep_boot.c b/fish/prep_boot.c
index f66196fb..79798cdb 100644
--- a/fish/prep_boot.c
+++ b/fish/prep_boot.c
@@ -142,16 +142,10 @@ prep_postlaunch_bootrootlv (const char *filename, prep_data *data, const char *d
prep_error (data, filename, _("failed to create VG: %s: %s"),
vg, guestfs_last_error (g));
- /* Create the smallest possible LV, then resize it to fill
- * all available space.
- */
- if (guestfs_lvcreate (g, lv, vg, 1) == -1)
+ /* Create the largest possible LV. */
+ if (guestfs_lvcreate_free (g, lv, vg, 100) == -1)
prep_error (data, filename, _("failed to create LV: /dev/%s/%s: %s"),
vg, lv, guestfs_last_error (g));
- if (guestfs_lvresize_free (g, data->params[0], 100) == -1)
- prep_error (data, filename,
- _("failed to resize LV to full size: %s: %s"),
- data->params[0], guestfs_last_error (g));
if (guestfs_mkfs (g, data->params[2], data->params[0]) == -1)
prep_error (data, filename, _("failed to create root filesystem: %s"),
diff --git a/fish/prep_lv.c b/fish/prep_lv.c
index 3620898a..ec380d46 100644
--- a/fish/prep_lv.c
+++ b/fish/prep_lv.c
@@ -96,16 +96,10 @@ prep_postlaunch_lv (const char *filename, prep_data *data, const char *device)
prep_error (data, filename, _("failed to create VG: %s: %s"),
vg, guestfs_last_error (g));
- /* Create the smallest possible LV, then resize it to fill
- * all available space.
- */
- if (guestfs_lvcreate (g, lv, vg, 1) == -1)
+ /* Create the largest possible LV. */
+ if (guestfs_lvcreate_free (g, lv, vg, 100) == -1)
prep_error (data, filename, _("failed to create LV: /dev/%s/%s: %s"),
vg, lv, guestfs_last_error (g));
- if (guestfs_lvresize_free (g, data->params[0], 100) == -1)
- prep_error (data, filename,
- _("failed to resize LV to full size: %s: %s"),
- data->params[0], guestfs_last_error (g));
free (part);
free (vg);
@@ -149,16 +143,10 @@ prep_postlaunch_lvfs (const char *filename, prep_data *data, const char *device)
prep_error (data, filename, _("failed to create VG: %s: %s"),
vg, guestfs_last_error (g));
- /* Create the smallest possible LV, then resize it to fill
- * all available space.
- */
- if (guestfs_lvcreate (g, lv, vg, 1) == -1)
+ /* Create the largest possible LV. */
+ if (guestfs_lvcreate_free (g, lv, vg, 100) == -1)
prep_error (data, filename, _("failed to create LV: /dev/%s/%s: %s"),
vg, lv, guestfs_last_error (g));
- if (guestfs_lvresize_free (g, data->params[0], 100) == -1)
- prep_error (data, filename,
- _("failed to resize LV to full size: %s: %s"),
- data->params[0], guestfs_last_error (g));
/* Create the filesystem. */
if (guestfs_mkfs (g, data->params[1], data->params[0]) == -1)
diff --git a/format/format.c b/format/format.c
index 40e53c52..f9b864b7 100644
--- a/format/format.c
+++ b/format/format.c
@@ -379,7 +379,7 @@ do_format (void)
if (guestfs_vgcreate (g, vg, devs) == -1)
exit (EXIT_FAILURE);
- if (guestfs_lvcreate (g, lv, vg, 32) == -1) /* 32 MB is smallest LV */
+ if (guestfs_lvcreate_free (g, lv, vg, 100) == -1)
exit (EXIT_FAILURE);
if (free_dev)
@@ -389,9 +389,6 @@ do_format (void)
exit (EXIT_FAILURE);
}
free_dev = 1;
-
- if (guestfs_lvresize_free (g, dev, 100) == -1)
- exit (EXIT_FAILURE);
}
if (filesystem) {
diff --git a/sparsify/sparsify.ml b/sparsify/sparsify.ml
index 711358e4..fe12490d 100644
--- a/sparsify/sparsify.ml
+++ b/sparsify/sparsify.ml
@@ -224,16 +224,13 @@ let () =
let lvdev = "/dev/" ^ vg ^ "/" ^ lvname in
let created =
- try g#lvcreate lvname vg 32; true
+ try g#lvcreate_free lvname vg 100; true
with _ -> false in
if created then (
if not quiet then
printf "Fill free space in volgroup %s with zero ...\n%!" vg;
- (* XXX Don't have lvcreate -l 100%FREE. Fake it. *)
- g#lvresize_free lvdev 100;
-
(* This command is expected to fail. *)
(try g#dd "/dev/zero" lvdev with _ -> ());