Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Nov 27, 2015
  1. @rwmjones

    builder: pxzcat: If write fails, display correct error message.

    rwmjones committed
    If uncompressing a template to a filesystem which is nearly full,
    virt-builder displays an error which points to the wrong (source) file:
    $ virt-builder fedora-22
    [   1.2] Downloading:
    [   1.7] Planning how to build this image
    [   1.7] Uncompressing
    /home/rjones/.cache/virt-builder/fedora-22.x86_64.1: No space left on device
    /home/rjones/.cache/virt-builder/fedora-22.x86_64.1: No space left on device
    /home/rjones/.cache/virt-builder/fedora-22.x86_64.1: No space left on device
    /home/rjones/.cache/virt-builder/fedora-22.x86_64.1: No space left on device
    (The error message is usually printed once by each thread, so it is
    printed several times.)
    Change the error message to point to the output file, which might be a
    temporary or the final file depending on the build plan:
    $ virt-builder fedora-22
    [   1.1] Downloading:
    [   1.6] Planning how to build this image
    [   1.6] Uncompressing
    fedora-22.img: No space left on device
    fedora-22.img: No space left on device
    fedora-22.img: No space left on device
    fedora-22.img: No space left on device
Commits on Nov 24, 2015
  1. @rwmjones

    Version 1.31.28.

    rwmjones committed
  2. @rwmjones

    daemon: Allow --channel fd:N

    rwmjones committed
    In this case, the daemon has been passed an open file descriptor which
    it uses directly for the channel.
  3. @rwmjones

    launch: direct: aarch64: Add gic-version=host to -M option.

    rwmjones committed
    On ARM machines with vGICv3, we need to use the extra -M
    parameter gic-version=3 (or gic-version=2 for the old vGIC).
    qemu can detect this feature for us if we pass gic-version=host,
    so add that to the -M option.  Unfortunately we cannot detect if
    qemu itself supports this parameter, but this change only affects
    Thanks: Wei Huang
  4. @rwmjones
  5. @ptoscano

    fuse: fix return value of guestunmount for unmounted paths

    ptoscano committed
    Exit with 3 as return value when fusermount fails, because the specified
    mount point is not considered mounted for the user.  This is in line
    with what the guestunmount documentation says.
    Adapt the test-guestunmount-fd test to the updated return value.
    Thanks to: Maxim Perevedentsev.
  6. @rwmjones

    fish: ps_restore is only used when HAVE_LIBREADLINE is defined.

    rwmjones committed
    Thanks: Keresztes Péter-Zoltán
Commits on Nov 20, 2015
  1. @ptoscano

    daemon: always provide stdin when running chroot commands (RHBZ#1280029)

    ptoscano committed
    When running commands in the mounted guest (using the "command" API, and
    APIs based on it), provide the /dev/null from the appliance as open fd
    for stdin.  Commands usually assume stdin is open if they didn't close
    it explicitly, so this should avoid crashes or misbehavings due to that.
  2. @ptoscano

    build: disable -Winline

    ptoscano committed
    Older GCC versions (e.g. < 4.9) may complain about inline functions that
    cannot be inlined (growing the generated code). It is not really a
    problem for us, so just suppress again the warning.
    Followup of commit c37c554.
  3. @rwmjones
  4. @rwmjones

    v2v: Clean up the documentation for virt-v2v-copy-to-local.

    rwmjones committed
    Don't duplicate the instructions in two different man pages.
    Put the conversion steps into virt-v2v(1) only.
    This updates commit 87adc30.
  5. @rwmjones

    v2v: Fix valgrind of virt-v2v-copy-to-local.

    rwmjones committed
    This fixes commit 87adc30.
Commits on Nov 19, 2015
  1. @rwmjones

    build: Add virt-v2v-copy-to-local to installcheck.

    rwmjones committed
    This updates commit 87adc30.
  2. @rwmjones

    Version 1.31.27.

    rwmjones committed
  3. @rwmjones

    v2v: Add a new tool virt-v2v-copy-to-local.

    rwmjones committed
    This allows certain guests which virt-v2v cannot access to be copied
    off the remote hypervisor and converted.  Essentially this just
    automates the process of copying the guest's disks and adjusting the
    libvirt XML.
    This also adds a test of the new tool.
  4. @rwmjones
  5. @rwmjones

    v2v: vcenter: Split out map_source_to_https from map_source_to_uri.

    rwmjones committed
    Split the map_source_to_uri function up so that we can get at just the
    https://... URI.
    This is almost refactoring.  It doesn't quite handle the case where we
    are passed a source path from the libvirt VMware driver that doesn't
    match the expected "[datastore] path" format, but probably if we hit
    that case it's a bug anyway.
  6. @rwmjones

    v2v: Detect conversions where the source disk has zero size (RHBZ#128…

    rwmjones committed
    If you try to convert a guest that has a zero-sized disk, it
    will currently fail in a rather strange way.  Usually you will
    see errors in the debug output:
      [    0.562714] sd 2:0:0:0: [sda] Read Capacity(16) failed: Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
      [    0.563884] sd 2:0:0:0: [sda] Sense Key : Not Ready [current]
      [    0.564587] sd 2:0:0:0: [sda] Add. Sense: Logical unit not ready, manual intervention required
    followed by virt-v2v failing with:
      libguestfs: trace: v2v: inspect_os = []
      virt-v2v: error: inspection could not detect the source guest (or physical
    Additionally, because of a problem with the ssh driver in qemu (or
    perhaps, with sftp-server on the remote side) it is not possible to
    use the ssh driver to open a block device path on the remote server.
    The drive will appear as zero-sized, triggering the above error.
    Therefore detect this situation, and emit an error (see below).  Also
    add a section to the manual describing the workaround required for
    converting RHEL 5 Xen guests which are located on block devices.
      virt-v2v: error: guest disk sda appears to be zero bytes in size.
      There could be several reasons for this:
      Check that the guest doesn't really have a zero-sized disk.  virt-v2v
      cannot convert such a guest.
      If you are converting a guest from an ssh source and the guest has a disk
      on a block device (eg. on a host partition or host LVM LV), then
      conversions of this type are not supported.  See "XEN OR SSH CONVERSIONS
      FROM BLOCK DEVICES" in the virt-v2v(1) manual for a workaround.
Commits on Nov 16, 2015
  1. @rwmjones

    p2v: Cancel conversion if user closes the running dialog.

    rwmjones committed
    If the user tries to close the running dialog during a running
    conversion, act as if the cancel button was pressed (cancelling the
    If the conversion has finished/been cancelled, then this closes the
    dialog and exits virt-p2v, as now.
    Cancelling the conversion in this way ensures that qemu-nbd and ssh
    subprocesses are cleaned up.
  2. @rwmjones

    p2v: Add a conversion_is_running() function.

    rwmjones committed
    This thread-safe function can be used to determine if the conversion
    is running (maybe in another thread).
  3. @rwmjones

    p2v: Make cancel_conversion() properly thread safe.

    rwmjones committed
    Rename 'stop' variable as cancel_requested, and defend it with a
  4. @rwmjones

    p2v: Tidy up in man page.

    rwmjones committed
  5. @rwmjones

    p2v: Send physical server 'dmesg' output to debug dir on conversion s…

    rwmjones committed
    If the virt-p2v ISO doesn't contain the correct drivers for the
    hardware on the physical server, that can cause peculiar conversion
    problems.  This was hard to diagnose because we could not see the
    'dmesg' output from the physical server.
    Upload 'dmesg' output from the physical server (more precisely: from
    the virt-p2v ISO's kernel running on the physical server) to the
    virt-v2v conversion server debugging directory, so that this
    information is available for debugging later.
    Unfortunately this involves yet another copy of the 'read_whole_file'
Commits on Nov 15, 2015
  1. @rwmjones

    v2v: OVF: Use common generated_by string.

    rwmjones committed
    Instead of creating a special 'Exported by ...' string just for this
    module, use the Common_utils.generated_by string.  Since the string is
    just descriptive, this should make no difference.
  2. @rwmjones

    v2v: Move mpstat struct into Types module.

    rwmjones committed
    Strangely the Types module already defined mpstat, but it was not used
    and redefined in  Apart from that, this change is just
  3. @rwmjones
  4. @rwmjones

    v2v: Add comment.

    rwmjones committed
  5. @rwmjones

    v2v: Move the get_node function to the Windows module.

    rwmjones committed
    Just refactoring - however this does make the function safer by having
    it return an option type instead of throwing a [Not_found] exception.
  6. @rwmjones

    v2v: Refactor some uses of Windows.with_hive.

    rwmjones committed
    This changes:
      let f root = .. in
      Windows.with_hive ... f
      Windows.with_hive ... ( fun root -> .. )
    No functional change, just refactoring.
  7. @rwmjones

    v2v: Move the with_hive function to the Windows module.

    rwmjones committed
    Just refactoring.
Commits on Nov 13, 2015
  1. @rwmjones

    Version 1.31.26.

    rwmjones committed
  2. @rwmjones

    build: Remove ChangeLog from make distclean.

    rwmjones committed
    Adding this causes 'make dist' to fail with:
      make[1]: *** No rule to make target 'ChangeLog', needed by 'distdir'.  Stop.
    This updates commit a2edda2.
  3. @rwmjones

    inspection: Fix detection of the kernel version of Windows ≥ 10 (RHBZ…

    rwmjones committed
    See the description in the bug report:
    Thanks: Richard Tollerton for alerting me to this change in the way
    that Windows version numbers are stored in the Registry starting with
    Windows ≥ 10.
  4. @rwmjones

    daemon: lvm: Change the separator character to ':'.

    rwmjones committed
    The separator character (currently comma) was picked arbitrarily to
    allow us to parse the output of commands like 'lvs' for APIs such as
    'lvs-full'.  Unfortunately the choice of comma conflicts with the 'lvs
    -o modules' column, since the list of modules is separated by commas,
    breaking our parser.
    Change the separator to another arbitrary character (colon) which
    hopefully is not used by any column.
    See also:
  5. @rwmjones

    daemon: lvm: Only return public LVs from guestfs_lvs API (RHBZ#1278878).

    rwmjones committed
    When a disk image uses LVM thinp (thin provisioning), the guestfs_lvs
    API would return the thinp pools.  This confused other APIs because
    thinp pools don't have corresponding /dev/VG/LV device nodes.
    Filter the LVs that are returned using "lv_role=public".
    Thanks: Fabian Deutsch
Something went wrong with that request. Please try again.