diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2012-03-15 10:30:21 +0000 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2012-03-15 16:15:45 +0000 |
commit | b05611d8efbfad10518fe874d53292c6a1b7f2b9 (patch) | |
tree | 481ea3691bca66a0f2ed0e3868a221849486f0e1 | |
parent | 79c4ecc0f398d4317a3713e0691df873a7d4b663 (diff) | |
download | libguestfs-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.c | 2 | ||||
-rw-r--r-- | fish/prep_boot.c | 10 | ||||
-rw-r--r-- | fish/prep_lv.c | 20 | ||||
-rw-r--r-- | format/format.c | 5 | ||||
-rw-r--r-- | sparsify/sparsify.ml | 5 |
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 _ -> ()); |