Generic partition creation interface.
authorRichard Jones <rjones@redhat.com>
Wed, 4 Nov 2009 23:15:26 +0000 (23:15 +0000)
committerRichard Jones <rjones@redhat.com>
Tue, 10 Nov 2009 16:32:20 +0000 (16:32 +0000)
commitb1e1ca2f74a921b3f784537d59c617df29ea1d60
tree2aff7ca53f4314e5dcb12236a86583a9c00777f2
parentb03995b67f9bc23d066b282bb7dad9b7c71c90da
Generic partition creation interface.

This commit introduces a generic partition creation interface
which should be future-proof and extensible, and partially
replaces the old sfdisk-based interface.

The implementation is based on parted but is hopefully not too
dependent on the particulars of parted.

The following new calls are introduced:

  guestfs_part_init:
    Initialize a disk with a partition table.  Unlike the sfdisk-
    based interface, we also support GPT and other partition
    types, which is essential to scale to devices larger than 2TB.

  guestfs_part_add: Add a partition to an existing disk.

  guestfs_part_disk:
    Convenience function which combines part_init & part_add,
    creating a single partition that covers the whole disk.

  guestfs_part_set_bootable:
  guestfs_part_set_name:
    Set various aspects of existing partitions.

  guestfs_part_list:
    List partitions on a device.  This returns a programming-friendly
    list of partition structs (in contrast to sfdisk-l which cannot
    be parsed).

  guestfs_part_get_parttype:
    Return the partition table type, eg. "msdos" or "gpt".

The following calls are planned, but not added currently:

  guestfs_part_get_bootable
  guestfs_part_get_name
  guestfs_part_set_type
  guestfs_part_get_type
16 files changed:
.gitignore
daemon/Makefile.am
daemon/parted.c [new file with mode: 0644]
guestfish.pod
guestfs.pod
java/Makefile.inc
ocaml/t/guestfs_060_readdir.ml
perl/t/060-readdir.t
po/POTFILES.in
recipes/tar2vm.sh
regressions/rhbz503169c10.sh
regressions/rhbz503169c13.sh
regressions/test-cancellation-upload-daemoncancels.sh
regressions/test-remote.sh
src/MAX_PROC_NR
src/generator.ml