qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 356d83: add pc-1.3 machine type


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 356d83: add pc-1.3 machine type
Date: Thu, 04 Oct 2012 19:30:17 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 356d83725675c0140db27b24afed3a2c0c7d9702
      
https://github.com/qemu/qemu/commit/356d83725675c0140db27b24afed3a2c0c7d9702
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-09-26 (Wed, 26 Sep 2012)

  Changed paths:
    M hw/pc_piix.c

  Log Message:
  -----------
  add pc-1.3 machine type

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: a2879190ab08b2b75d65b576fad7ff95d7d7d641
      
https://github.com/qemu/qemu/commit/a2879190ab08b2b75d65b576fad7ff95d7d7d641
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-09-26 (Wed, 26 Sep 2012)

  Changed paths:
    M hw/pc_piix.c

  Log Message:
  -----------
  compat: turn off msi/msix on xhci for old machine types

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: d95e74eaed8b74b0c75ab343e9cb826b1f5c9007
      
https://github.com/qemu/qemu/commit/d95e74eaed8b74b0c75ab343e9cb826b1f5c9007
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-09-26 (Wed, 26 Sep 2012)

  Changed paths:
    M hw/usb/hcd-xhci.c

  Log Message:
  -----------
  xhci: tweak limits

Set maxports to 15.  This is what the usb3 route string can handle.

Set maxslots to 64.  This is more than the number of root ports we
can have, but with additional hubs you can end up with more devices.

Set maxintrs (aka msi vectors) to 16.  Should be enougth, especially
considering that vectors are a limited ressource.  Linux guests use
only three at the moment.

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: ccaf87a085c748910efddbcfb5077f6a67cc354a
      
https://github.com/qemu/qemu/commit/ccaf87a085c748910efddbcfb5077f6a67cc354a
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-09-26 (Wed, 26 Sep 2012)

  Changed paths:
    M hw/usb/hcd-xhci.c

  Log Message:
  -----------
  xhci: route string & usb hub support

Parse route string in slot contexts and
support devices connected via hub.


  Commit: 1d8a4e69eeda7e474d1a6b50951b0b1680f8186e
      
https://github.com/qemu/qemu/commit/1d8a4e69eeda7e474d1a6b50951b0b1680f8186e
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-09-26 (Wed, 26 Sep 2012)

  Changed paths:
    M hw/usb/hcd-xhci.c

  Log Message:
  -----------
  xhci: create a memory region for each port

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: cae5d3f4b3fbe9b681c0c4046008af424bd1d6a5
      
https://github.com/qemu/qemu/commit/cae5d3f4b3fbe9b681c0c4046008af424bd1d6a5
  Author: Hans de Goede <address@hidden>
  Date:   2012-09-26 (Wed, 26 Sep 2012)

  Changed paths:
    M hw/usb/hcd-ehci.c

  Log Message:
  -----------
  ehci: Fix interrupt packet MULT handling

There are several issues with our handling of the MULT epcap field
of interrupt qhs, which this patch fixes.

1) When we don't execute a transaction because of the transaction counter
being 0, p->async stays EHCI_ASYNC_NONE, and the next time we process the
same qtd we hit an assert in ehci_state_fetchqtd because of this. Even though
I believe that this is caused by 3 below, this patch still removes the assert,
as that can still happen without 3, when multiple packets are queued for the
same interrupt ep.

2) We only *check* the transaction counter from ehci_state_execute, any
packets queued up by fill_queue bypass this check. This is fixed by not calling
fill_queue for interrupt packets.

3) Some versions of Windows set the MULT field of the qh to 0, which is a
clear violation of the EHCI spec, but still they do it. This means that we
will never execute a qtd for these, making interrupt ep-s on USB-2 devices
not work, and after recent changes, triggering 1).

So far we've stored the transaction counter in our copy of the mult field,
but with this beginnig at 0 already when dealing with these version of windows
this won't work. So this patch adds a transact_ctr field to our qh struct,
and sets this to the MULT field value on fetchqh. When the MULT field value
is 0, we set it to 4. Assuming that windows gets way with setting it to 0,
by the actual hardware going horizontal on a 1 -> 0 transition, which will
give it 4 transactions (MULT goes from 0 - 3).

Note that we cannot stop on detecting the 1 -> 0 transition, as our decrement
of the transaction counter, and checking for it are done in 2 different places.

Reported-by: Shawn Starr <address@hidden>
Signed-off-by: Hans de Goede <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 8b626aa7841ef79b70066c880b3b6c29496797af
      
https://github.com/qemu/qemu/commit/8b626aa7841ef79b70066c880b3b6c29496797af
  Author: Hans de Goede <address@hidden>
  Date:   2012-09-26 (Wed, 26 Sep 2012)

  Changed paths:
    M configure

  Log Message:
  -----------
  usb-redir: Adjust pkg-config check for usbredirparser .pc file rename (v2)

The usbredir 0.5 release introduced the new API for 64 bit packet ids, but
it kept the libusbredirparser.pc name as is, meaning that older versions of
qemu will still have their pkg-config check for usbredirparser fulfilled,
and build with the usb-redir device. Due to the API change there will be
some compiler warnings, but the build will succeed, however the usb-redir
device will be broken on 32 bit machines.

To solve this a new usbredir-0.5.2 release is coming, which renames the
libusbredirparser.pc file to libusbredirparser-0.5.pc, so that it will no
longer fulfill the pkg-config check of the qemu-1.2 and older releases,
stopping the (silent) breakage. This patch adjusts qemu master's configure
to properly detect the new usbredir release.

Changes in v2:
-Not only use the new .pc name in the check but also when getting cflags
 and libs!

Signed-off-by: Hans de Goede <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 39c138c8420f51a7da7b35233a8d7400a0b589ac
      
https://github.com/qemu/qemu/commit/39c138c8420f51a7da7b35233a8d7400a0b589ac
  Author: David Gibson <address@hidden>
  Date:   2012-09-26 (Wed, 26 Sep 2012)

  Changed paths:
    M hw/usb/libhw.c

  Log Message:
  -----------
  usb: Fix usb_packet_map() in the presence of IOMMUs

With the IOMMU infrastructure introduced before 1.2, we need to use
dma_memory_map() to obtain a qemu pointer to memory from an IO bus address.
However, dma_memory_map() alters the given length to reflect the length
over which the used DMA translation is valid - which could be either more
or less than the requested length.

usb_packet_map() does not correctly handle these cases, simply failing if
dma_memory_map() alters the requested length.  If dma_memory_map()
increased the length, we just need to use the requested length for the
qemu_iovec_add().  However, if it decreased the length, it means that a
single DMA translation is not valid for the whole sglist element, and so
we need to loop, splitting it up into multiple iovec entries for each
piece with a DMA translation (in practice >2 pieces is unlikely).

This patch implements the correct behaviour

Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: e9d17b6890ae772f3652c8cacf4e1f72f576f907
      
https://github.com/qemu/qemu/commit/e9d17b6890ae772f3652c8cacf4e1f72f576f907
  Author: Ryota Ozaki <address@hidden>
  Date:   2012-09-26 (Wed, 26 Sep 2012)

  Changed paths:
    M QMP/qmp.py

  Log Message:
  -----------
  Make negotiation optional in QEMUMonitorProtocol

This is a preparation for qemu-ga-client which uses
QEMUMonitorProtocol class. The class tries to
negotiate capabilities on connect, however, qemu-ga
doesn't suppose it and fails.

This change makes the negotiation optional, though
it's still performed by default for compatibility.

Signed-off-by: Ryota Ozaki <address@hidden>
Signed-off-by: Luiz Capitulino <address@hidden>


  Commit: e37b350aa8766ae36ec9bf40fab665455d4a5530
      
https://github.com/qemu/qemu/commit/e37b350aa8766ae36ec9bf40fab665455d4a5530
  Author: Ryota Ozaki <address@hidden>
  Date:   2012-09-26 (Wed, 26 Sep 2012)

  Changed paths:
    M QMP/qmp.py

  Log Message:
  -----------
  Support settimeout in QEMUMonitorProtocol

This method is used in the following qemu-ga-client script
to implement non-blocking operations.

Signed-off-by: Ryota Ozaki <address@hidden>
Signed-off-by: Luiz Capitulino <address@hidden>


  Commit: f513cbf7503d8db3778df436beaf25f3d8260317
      
https://github.com/qemu/qemu/commit/f513cbf7503d8db3778df436beaf25f3d8260317
  Author: Ryota Ozaki <address@hidden>
  Date:   2012-09-26 (Wed, 26 Sep 2012)

  Changed paths:
    A QMP/qemu-ga-client

  Log Message:
  -----------
  Add qemu-ga-client script

This is an easy-to-use QEMU guest agent client written in
Python. It simply provides commands to call guest agent
functions like ping, fsfreeze and shutdown. Additionally,
it provides extra useful commands, e.g, cat, ifconfig and
reboot, by using guet agent functions.

Examples:
  $ export QGA_CLIENT_ADDRESS=/tmp/qga.sock
  $ qemu-ga-client ping

  $ qemu-ga-client cat /etc/resolv.conf
  # Generated by NetworkManager
  nameserver 10.0.2.3

  $ qemu-ga-client fsfreeze status
  thawed
  $ qemu-ga-client fsfreeze freeze
  2 filesystems frozen

The script communicates with a guest agent by means of
qmp.QEMUMonitorProtocol. Every commands are called with
timeout (3 sec.) to avoid blocking. The script always
calls sync command prior to issuing an actual command
(except for ping which doesn't need sync).

Signed-off-by: Ryota Ozaki <address@hidden>
Signed-off-by: Luiz Capitulino <address@hidden>


  Commit: eda50a656f52a5172fa8a95f7b217565b90d413e
      
https://github.com/qemu/qemu/commit/eda50a656f52a5172fa8a95f7b217565b90d413e
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-26 (Wed, 26 Sep 2012)

  Changed paths:
    M scripts/qapi-types.py
    M scripts/qapi-visit.py
    M scripts/qapi.py

  Log Message:
  -----------
  qapi: do not protect enum values from namespace pollution

Enum values are always preceded by the uppercase name of the enum, so
they do not conflict with reserved words.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Luiz Capitulino <address@hidden>


  Commit: 1057725f6629fc2771a294a92ce8eedb92c86fe8
      
https://github.com/qemu/qemu/commit/1057725f6629fc2771a294a92ce8eedb92c86fe8
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-26 (Wed, 26 Sep 2012)

  Changed paths:
    M scripts/qapi.py

  Log Message:
  -----------
  qapi: add "unix" to the set of reserved words

It is #defined to 1.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Luiz Capitulino <address@hidden>


  Commit: 9a3a88956c7f32130ad20011f7c3c161fa5876d8
      
https://github.com/qemu/qemu/commit/9a3a88956c7f32130ad20011f7c3c161fa5876d8
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-26 (Wed, 26 Sep 2012)

  Changed paths:
    M hw/kvm/pci-assign.c

  Log Message:
  -----------
  pci-assign: use monitor_handle_fd_param

There is no need to open-code the choice between a file descriptor
number or a named one.  Just use monitor_handle_fd_param, which
also takes care of printing the error message.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Luiz Capitulino <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>


  Commit: a9940fc4cba811adfb296fe07b247ee707265f90
      
https://github.com/qemu/qemu/commit/a9940fc4cba811adfb296fe07b247ee707265f90
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-26 (Wed, 26 Sep 2012)

  Changed paths:
    M dump.c
    M migration-fd.c
    M monitor.c
    M monitor.h

  Log Message:
  -----------
  monitor: add Error * argument to monitor_get_fd

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Luiz Capitulino <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>


  Commit: b224e5e2162a767dd56dbc366f796fbe45ca5baa
      
https://github.com/qemu/qemu/commit/b224e5e2162a767dd56dbc366f796fbe45ca5baa
  Author: Luiz Capitulino <address@hidden>
  Date:   2012-09-26 (Wed, 26 Sep 2012)

  Changed paths:
    M monitor.c
    M qapi-schema.json
    M qmp-commands.hx
    M qmp.c

  Log Message:
  -----------
  qapi: convert add_client

Also fixes a few issues while there:

 1. The fd returned by monitor_get_fd() leaks in most error conditions
 2. monitor_get_fd() return value is not checked. Best case we get
    an error that is not correctly reported, worse case one of the
    functions using the fd (with value of -1) will explode
 3. A few error conditions aren't reported
 4. We now "use up" @fdname always.  Before, it was left alone for
    invalid @protocol

Signed-off-by: Luiz Capitulino <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>


  Commit: d691180e41f58cc3c1f9fa848c2ab89193503160
      
https://github.com/qemu/qemu/commit/d691180e41f58cc3c1f9fa848c2ab89193503160
  Author: Luiz Capitulino <address@hidden>
  Date:   2012-09-27 (Thu, 27 Sep 2012)

  Changed paths:
    M qapi-schema.json

  Log Message:
  -----------
  qmp: dump-guest-memory: improve schema doc (again)

 o Add a note about memory allocation with paging=true
 o Fix indentation

Signed-off-by: Luiz Capitulino <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>


  Commit: 2f61652d660ec1ffdadf926401a174c11f5c13a7
      
https://github.com/qemu/qemu/commit/2f61652d660ec1ffdadf926401a174c11f5c13a7
  Author: Luiz Capitulino <address@hidden>
  Date:   2012-09-27 (Thu, 27 Sep 2012)

  Changed paths:
    M dump.c

  Log Message:
  -----------
  qmp: dump-guest-memory: don't spin if non-blocking fd would block

fd_write_vmcore() will indefinitely spin for a non-blocking
file-descriptor that would block. However, if the fd is non-blocking,
how does it make sense to spin?

Change this behavior to return an error instead.

Note that this can only happen with an fd provided by a management
application. The fd opened internally by dump-guest-memory is blocking.

While there, also fix 'writen_size' variable name.

Signed-off-by: Luiz Capitulino <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>


  Commit: 753637695bcf6b80ea96614de5d31161603ad50f
      
https://github.com/qemu/qemu/commit/753637695bcf6b80ea96614de5d31161603ad50f
  Author: Luiz Capitulino <address@hidden>
  Date:   2012-09-27 (Thu, 27 Sep 2012)

  Changed paths:
    M hmp-commands.hx
    M hmp.c

  Log Message:
  -----------
  hmp: dump-guest-memory: hardcode protocol argument to "file:"

Today, it's necessary to specify the protocol you want to use
when dumping the guest memory, for example:

 (qemu) dump-guest-memory file:/tmp/guest-memory

This has a few issues:

 1. It's cumbersome to type
 2. We loose file path autocompletion
 3. Being able to specify fd:X in HMP makes little sense for humans

Because of these reasons, hardcode the 'protocol' argument to
'file:' in HMP.

Signed-off-by: Luiz Capitulino <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>


  Commit: 05a3543dbddd03d6be723be4074e2e661b00b851
      
https://github.com/qemu/qemu/commit/05a3543dbddd03d6be723be4074e2e661b00b851
  Author: Luiz Capitulino <address@hidden>
  Date:   2012-09-27 (Thu, 27 Sep 2012)

  Changed paths:
    M input.c

  Log Message:
  -----------
  input: qmp_send_key(): simplify

The current code duplicates the QKeyCodeList keys in order to store
the key values for release_keys() late run. This is a bit complicated
though, as we have to care about correct ordering and then release_keys()
will have to index key_defs[] over again.

Switch to an array of integers, which is dynamically allocated and stores
the already converted key value.

This simplifies the current code and the next commit.

Signed-off-by: Luiz Capitulino <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>


  Commit: 9f32897768064841fe9a99145c9d15ab6667ffed
      
https://github.com/qemu/qemu/commit/9f32897768064841fe9a99145c9d15ab6667ffed
  Author: Luiz Capitulino <address@hidden>
  Date:   2012-09-27 (Thu, 27 Sep 2012)

  Changed paths:
    M hmp.c
    M input.c
    M qapi-schema.json

  Log Message:
  -----------
  qmp: qmp_send_key(): accept key codes in hex

Before the qapi conversion, the sendkey command could be used to
send key codes in hex directly to the guest. In HMP, this would
be like:

 (qemu) sendkey 0xdc

However, the qapi conversion broke this, as it only supports sending
QKeyCode values to the guest. That's a regression.

This commit fixes the problem by adding hex value support down
the QMP interface, qmp_send_key().

In more detail, this commit:

 1. Adds the KeyValue union. This can represent an hex value or
    a QKeyCode value

 2. *Changes* the QMP send-key command to take an KeyValue argument
    instead of a QKeyCode one

 3. Adapt hmp_send_key() to the QMP interface changes

Item 2 is an incompatible change, but as we're in development phase
(and this command has been merged a few weeks ago) this shouldn't be
a problem.

Finally, it's not possible to split this commit without breaking the
build.

Reported-by: Avi Kivity <address@hidden>
Signed-off-by: Luiz Capitulino <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>


  Commit: 9d537c9019e6a05713b44900c78447a0cfb06567
      
https://github.com/qemu/qemu/commit/9d537c9019e6a05713b44900c78447a0cfb06567
  Author: Luiz Capitulino <address@hidden>
  Date:   2012-09-27 (Thu, 27 Sep 2012)

  Changed paths:
    M input.c

  Log Message:
  -----------
  input: index_from_key(): drop unused code

The hex key conversion is unused since last commit.

Signed-off-by: Luiz Capitulino <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>


  Commit: 8bde9b6f8892c15e46e1f37a37ac038313be4d58
      
https://github.com/qemu/qemu/commit/8bde9b6f8892c15e46e1f37a37ac038313be4d58
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-27 (Thu, 27 Sep 2012)

  Changed paths:
    M qapi-schema.json

  Log Message:
  -----------
  block: live snapshot documentation tweaks

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Luiz Capitulino <address@hidden>


  Commit: 0cea71a207508c2b8f563b2644ac46009832c8f4
      
https://github.com/qemu/qemu/commit/0cea71a207508c2b8f563b2644ac46009832c8f4
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M hw/virtio.c

  Log Message:
  -----------
  virtio: don't mark unaccessed memory as dirty

offset of accessed buffer is calculated using iov_length, so it
can exceed accessed len. If that happens
math in len - offset wraps around, and size becomes wrong.
As real value is 0, so this is harmless but unnecessary.

Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 40bad8f3deba15e2074ff34cfe923c12916b1cc5
      
https://github.com/qemu/qemu/commit/40bad8f3deba15e2074ff34cfe923c12916b1cc5
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M hw/virtio-net.c

  Log Message:
  -----------
  virtio-net: fix used len for tx

There is no out sg for TX, so used buf length for tx
should always be 0.

Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 844b5cea8ea6cbe964670a26d1b34037067569df
      
https://github.com/qemu/qemu/commit/844b5cea8ea6cbe964670a26d1b34037067569df
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M iov.c
    M iov.h

  Log Message:
  -----------
  iov: add const annotation

iov_from_buf does not change iov, make it const.

Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 385ce95d9d060f20870402c8b2b503d0b6ab8af0
      
https://github.com/qemu/qemu/commit/385ce95d9d060f20870402c8b2b503d0b6ab8af0
  Author: Amit Shah <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M hw/virtio.c

  Log Message:
  -----------
  virtio: use unsigned int for counting bytes in vq

The virtqueue_avail_bytes() function counts bytes in an int.  Use an
unsigned int instead.

Signed-off-by: Amit Shah <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 0d8d7690850eb0cf2b2b60933cf47669a6b6f18f
      
https://github.com/qemu/qemu/commit/0d8d7690850eb0cf2b2b60933cf47669a6b6f18f
  Author: Amit Shah <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M hw/virtio.c
    M hw/virtio.h

  Log Message:
  -----------
  virtio: Introduce virtqueue_get_avail_bytes()

The current virtqueue_avail_bytes() is oddly named, and checks if a
particular number of bytes are available in a vq.  A better API is to
fetch the number of bytes available in the vq, and let the caller do
what's interesting with the numbers.

Introduce virtqueue_get_avail_bytes(), which returns the number of bytes
for buffers marked for both, in as well as out.  virtqueue_avail_bytes()
is made a wrapper over this new function.

Signed-off-by: Amit Shah <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: ad3005ad8c70a69705149d3ce6d1e51fb76edb15
      
https://github.com/qemu/qemu/commit/ad3005ad8c70a69705149d3ce6d1e51fb76edb15
  Author: Amit Shah <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M hw/virtio-serial-bus.c

  Log Message:
  -----------
  virtio-serial-bus: let chardev know the exact number of bytes requested

Using the virtqueue_avail_bytes() function had an unnecessarily
crippling effect on the number of bytes needed by the guest as reported
to the chardev layer in the can_read() callback.

Using the new virtqueue_get_avail_bytes() function will let us advertise
the exact number of bytes we can send to the guest.

Signed-off-by: Amit Shah <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 946d58be1533bf843b499df12e1d9f97b28245c8
      
https://github.com/qemu/qemu/commit/946d58be1533bf843b499df12e1d9f97b28245c8
  Author: Kevin Wolf <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M block-migration.c

  Log Message:
  -----------
  block-migration: Flush requests in blk_mig_cleanup

When cancelling block migration, all in-flight requests of the block
migration must be completed before the data can be freed. This was
visible as failing assertions and segfaults.

Reported-by: Peter Lieven <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 870f5681c9dbafc738082b1fd48e0cc013bf43c7
      
https://github.com/qemu/qemu/commit/870f5681c9dbafc738082b1fd48e0cc013bf43c7
  Author: Jeff Cody <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M blockdev.c

  Log Message:
  -----------
  block: after creating a live snapshot, make old image read-only

Currently, after a live snapshot of a drive, the image that has
been 'demoted' to be below the new active layer remains r/w.
This patch reopens it read-only.

Note that we do not check for error on the reopen(), because we
will not abort the snapshots if the reopen fails.

This patch depends on the bdrv_reopen() series.

Signed-off-by: Jeff Cody <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 00f78533326c5ba2e62fafada16655aa558a5520
      
https://github.com/qemu/qemu/commit/00f78533326c5ba2e62fafada16655aa558a5520
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M aio.c

  Log Message:
  -----------
  aio: Fix qemu_aio_wait() to maintain correct walking_handlers count

Fix qemu_aio_wait() to ensure that registered aio handlers don't get
deleted when they are still active. This is ensured by maintaning the
right count of walking_handlers.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Bharata B Rao <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: ca0defb95c69f88a905d64adbe253e7bb8fde14a
      
https://github.com/qemu/qemu/commit/ca0defb95c69f88a905d64adbe253e7bb8fde14a
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M Makefile.objs
    A uri.c
    A uri.h

  Log Message:
  -----------
  qemu: URI parsing library

Add a new URI parsing library to QEMU. The code has been borrowed from
libxml2 and libvirt.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Bharata B Rao <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 2db2bfc0ccac5fd68dbf0ceb70fbc372c5d8a8c7
      
https://github.com/qemu/qemu/commit/2db2bfc0ccac5fd68dbf0ceb70fbc372c5d8a8c7
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M aio.c

  Log Message:
  -----------
  aio: Another fix to the walking_handlers logic

The AIO dispatch loop will call QLIST_REMOVE and g_free even if there
are other pending calls to qemu_aio_wait outside the current one.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Bharata B Rao <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: eb100396b9d2658e8bf9cdc14bfcb16a9152f464
      
https://github.com/qemu/qemu/commit/eb100396b9d2658e8bf9cdc14bfcb16a9152f464
  Author: Bharata B Rao <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: Add a config option for GlusterFS as block backend

GlusterFS support in QEMU depends on libgfapi, libgfrpc and
libgfxdr provided by GlusterFS.

Signed-off-by: Bharata B Rao <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 8d6d89cb63c57569864ecdeb84d3a1c2ebd031cc
      
https://github.com/qemu/qemu/commit/8d6d89cb63c57569864ecdeb84d3a1c2ebd031cc
  Author: Bharata B Rao <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M block/Makefile.objs
    A block/gluster.c

  Log Message:
  -----------
  block: Support GlusterFS as a QEMU block backend.

This patch adds gluster as the new block backend in QEMU. This gives
QEMU the ability to boot VM images from gluster volumes. Its already
possible to boot from VM images on gluster volumes using FUSE mount, but
this patchset provides the ability to boot VM images from gluster volumes
by by-passing the FUSE layer in gluster. This is made possible by
using libgfapi routines to perform IO on gluster volumes directly.

VM Image on gluster volume is specified like this:

file=gluster[+transport]://[server[:port]]/volname/image[?socket=...]

'gluster' is the protocol.

'transport' specifies the transport type used to connect to gluster
management daemon (glusterd). Valid transport types are
tcp, unix and rdma. If a transport type isn't specified, then tcp
type is assumed.

'server' specifies the server where the volume file specification for
the given volume resides. This can be either hostname, ipv4 address
or ipv6 address. ipv6 address needs to be within square brackets [ ].
If transport type is 'unix', then 'server' field should not be specifed.
The 'socket' field needs to be populated with the path to unix domain
socket.

'port' is the port number on which glusterd is listening. This is optional
and if not specified, QEMU will send 0 which will make gluster to use the
default port. If the transport type is unix, then 'port' should not be
specified.

'volname' is the name of the gluster volume which contains the VM image.

'image' is the path to the actual VM image that resides on gluster volume.

Examples:

file=gluster://1.2.3.4/testvol/a.img
file=gluster+tcp://1.2.3.4/testvol/a.img
file=gluster+tcp://1.2.3.4:24007/testvol/dir/a.img
file=gluster+tcp://[1:2:3:4:5:6:7:8]/testvol/dir/a.img
file=gluster+tcp://[1:2:3:4:5:6:7:8]:24007/testvol/dir/a.img
file=gluster+tcp://server.domain.com:24007/testvol/dir/a.img
file=gluster+unix:///testvol/dir/a.img?socket=/tmp/glusterd.socket
file=gluster+rdma://1.2.3.4:24007/testvol/a.img

Signed-off-by: Bharata B Rao <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 6ebdcee2d8e9e4b41ffe4e49039927550848b926
      
https://github.com/qemu/qemu/commit/6ebdcee2d8e9e4b41ffe4e49039927550848b926
  Author: Jeff Cody <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M block.c
    M block.h

  Log Message:
  -----------
  block: add support functions for live commit, to find and delete images.

Add bdrv_find_overlay(), and bdrv_drop_intermediate().

bdrv_find_overlay():  given 'bs' and the active (topmost) BDS of an image chain,
              find the image that is the immediate top of 'bs'

bdrv_drop_intermediate():
              Given 3 BDS (active, top, base), drop images above
              base up to and including top, and set base to be the
              backing file of top's overlay node.
               E.g., this converts:
               bottom <- base <- intermediate <- top <- active
               to
               bottom <- base <- active

Signed-off-by: Jeff Cody <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 747ff602636fd83daae7ee4b1dd6e8d257a89fea
      
https://github.com/qemu/qemu/commit/747ff602636fd83daae7ee4b1dd6e8d257a89fea
  Author: Jeff Cody <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M block/Makefile.objs
    A block/commit.c
    M block_int.h
    M trace-events

  Log Message:
  -----------
  block: add live block commit functionality

This adds the live commit coroutine.  This iteration focuses on the
commit only below the active layer, and not the active layer itself.

The behaviour is similar to block streaming; the sectors are walked
through, and anything that exists above 'base' is committed back down
into base.  At the end, intermediate images are deleted, and the
chain stitched together.  Images are restored to their original open
flags upon completion.

Signed-off-by: Jeff Cody <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 9abf2dbaf6ae990c498ec0245986bddcd6b013ea
      
https://github.com/qemu/qemu/commit/9abf2dbaf6ae990c498ec0245986bddcd6b013ea
  Author: Jeff Cody <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M blockdev.c
    M trace-events

  Log Message:
  -----------
  blockdev: rename block_stream_cb to a generic block_job_cb

Signed-off-by: Jeff Cody <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 79fac5680d3680c9fb43d14a8d4e39ced25530f8
      
https://github.com/qemu/qemu/commit/79fac5680d3680c9fb43d14a8d4e39ced25530f8
  Author: Jeff Cody <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M block.c
    M block.h

  Log Message:
  -----------
  block: helper function, to find the base image of a chain

This is a simple helper function, that will return the base image
of a given image chain.

Signed-off-by: Jeff Cody <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: ed61fc10e8c8d2d1287f7edae92e44f5c97c540d
      
https://github.com/qemu/qemu/commit/ed61fc10e8c8d2d1287f7edae92e44f5c97c540d
  Author: Jeff Cody <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M QMP/qmp-events.txt
    M blockdev.c
    M qapi-schema.json
    M qmp-commands.hx

  Log Message:
  -----------
  QAPI: add command for live block commit, 'block-commit'

The command for live block commit is added, which has the following
arguments:

device: the block device to perform the commit on (mandatory)
base:   the base image to commit into; optional (if not specified,
  it is the underlying original image)
top:    the top image of the commit - all data from inside top down
  to base will be committed into base (mandatory for now; see
  note, below)

speed:  maximum speed, in bytes/sec

Note: Eventually this command will support merging down the active layer,
      but that code is not yet complete.  If the active layer is passed
      in as top, then an error will be returned.  Once merging down the
      active layer is supported, the 'top' argument may become optional,
      and default to the active layer.

The is done as a block job, so upon completion a BLOCK_JOB_COMPLETED will
be emitted.

Signed-off-by: Jeff Cody <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 747051cd97c384e70eec0ceb905f08e630b6a1c4
      
https://github.com/qemu/qemu/commit/747051cd97c384e70eec0ceb905f08e630b6a1c4
  Author: Jeff Cody <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    A tests/qemu-iotests/040
    A tests/qemu-iotests/040.out
    M tests/qemu-iotests/group

  Log Message:
  -----------
  qemu-iotests: add initial tests for live block commit

Derived from the streaming test cases (030), this adds the
following 9 tests:

1. For the following image chain, commit [mid] into [backing],
   and use qemu-io to verify [backing] has its original data, as
   well as the data from [mid]
      [backing] <-- [mid] <-- [test]

2. Verifies that 'block-commit' with the 'speed' parameter sets the
   speed parameter, as reported by 'query-block-jobs'

3. Verifies that a bogus 'device' parameter to 'block-commit'
   results in error

4-9: Appropriate error values returned for the following argument errors:
    * top == base
    * top is nonexistent
    * base is nonexistent
    * top == active layer (this is currently not supported)
    * top and base arguments are reversed
    * top argument is omitted

Signed-off-by: Jeff Cody <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 7ef1507045d35bd4d220cf3bfe0e80e7ac101d00
      
https://github.com/qemu/qemu/commit/7ef1507045d35bd4d220cf3bfe0e80e7ac101d00
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M blockdev.c
    M qerror.h

  Log Message:
  -----------
  qerror/block: introduce QERR_BLOCK_JOB_NOT_ACTIVE

The DeviceNotActive text is not a particularly good match, add
a separate text while keeping the same class.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 7e03a9342fff50f2a6a4086906fa66e6c6d4351d
      
https://github.com/qemu/qemu/commit/7e03a9342fff50f2a6a4086906fa66e6c6d4351d
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M block_int.h

  Log Message:
  -----------
  block: fix documentation of block_job_cancel_sync

Do this in a separate commit before we move the functions to
blockjob.h.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 2f0c9fe64c6a2887047b7eab05cd85b2643234c8
      
https://github.com/qemu/qemu/commit/2f0c9fe64c6a2887047b7eab05cd85b2643234c8
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M Makefile.objs
    M block.c
    M block.h
    M block/Makefile.objs
    M block/commit.c
    M block/stream.c
    M block_int.h
    M blockdev.c
    A blockjob.c
    A blockjob.h

  Log Message:
  -----------
  block: move job APIs to separate files

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 30e628b709fcd30db298878e435e3bc93919c48c
      
https://github.com/qemu/qemu/commit/30e628b709fcd30db298878e435e3bc93919c48c
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M blockdev.c
    M blockjob.c
    M blockjob.h

  Log Message:
  -----------
  block: add block_job_query

Extract it out of the implementation of info block-jobs.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 8d65883fff22e00d70f5880a26b7a1248c59a2d8
      
https://github.com/qemu/qemu/commit/8d65883fff22e00d70f5880a26b7a1248c59a2d8
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M blockjob.c
    M qapi-schema.json

  Log Message:
  -----------
  qmp: add 'busy' member to BlockJobInfo

Because pausing a job is asynchronous, we need to know whether it has
completed.  This is described by the "busy" field of BlockJob; copy it
to BlockJobInfo.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 8acc72a4d20910d522516dab31272fe66da8da28
      
https://github.com/qemu/qemu/commit/8acc72a4d20910d522516dab31272fe66da8da28
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M blockdev.c
    M blockjob.c
    M blockjob.h
    M qapi-schema.json
    M qerror.h

  Log Message:
  -----------
  block: add support for job pause/resume

Job pausing reuses the existing support for cancellable sleeps.  A pause
happens at the next sleeping point and lasts until the coroutine is
re-entered explicitly.  Cancellation was already doing a forced resume,
so implement it explicitly in terms of resume.

Paused jobs cannot be canceled without first resuming them.  This ensures
that I/O errors are never missed by management.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 6e37fb811ac86739e5ed30dba3a8e4848bd21b56
      
https://github.com/qemu/qemu/commit/6e37fb811ac86739e5ed30dba3a8e4848bd21b56
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M blockdev.c
    M hmp-commands.hx
    M hmp.c
    M hmp.h
    M qapi-schema.json
    M qmp-commands.hx
    M trace-events

  Log Message:
  -----------
  qmp: add block-job-pause and block-job-resume

Add QMP commands matching the functionality.

Paused jobs cannot be canceled without first resuming them.  This
ensures that I/O errors are never missed by management.  However, an
optional force argument can be specified to allow that.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 0c81734765c9af1705f8e531b9431d63ee8ffd3d
      
https://github.com/qemu/qemu/commit/0c81734765c9af1705f8e531b9431d63ee8ffd3d
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M tests/qemu-iotests/030
    M tests/qemu-iotests/030.out
    M tests/qemu-iotests/group

  Log Message:
  -----------
  qemu-iotests: add test for pausing a streaming operation

These check that a paused streaming job does not advance its offset.

Sometimes the new test fails; the map is different between the source
and the destination of the streaming because qemu-io does not always
pack adjacent clusters that have the same allocated/unallocated state.
However, this also happens with the existing test_stream testcase, and
is better fixed in qemu-io.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: ff06f5f351c3b19d5cdcb8bcb9f9cc9a01cac066
      
https://github.com/qemu/qemu/commit/ff06f5f351c3b19d5cdcb8bcb9f9cc9a01cac066
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M block.c
    M block.h
    M block_int.h
    M hw/ide/core.c
    M hw/scsi-disk.c
    M hw/virtio-blk.c

  Log Message:
  -----------
  iostatus: rename BlockErrorAction, BlockQMPEventAction

We want to remove knowledge of BLOCK_ERR_STOP_ENOSPC from drivers;
drivers should only be told whether to stop/report/ignore the error.
On the other hand, we want to keep using the nicer BlockErrorAction
name in the drivers.  So rename the enums, while leaving aside the
names of the enum values for now.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 92aa5c6d77ac29574c1717bcf57827fa1e586f31
      
https://github.com/qemu/qemu/commit/92aa5c6d77ac29574c1717bcf57827fa1e586f31
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M block.c
    M block.h
    M block/commit.c
    M block_int.h
    M blockdev.c
    M hw/fdc.c
    M hw/ide/core.c
    M hw/scsi-disk.c
    M hw/scsi-generic.c
    M hw/virtio-blk.c
    M qapi-schema.json

  Log Message:
  -----------
  iostatus: move BlockdevOnError declaration to QAPI

This will let block-stream reuse the enum.  Places that used the enums
are renamed accordingly.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 1ceee0d5cc841fc9ca8e72b81450b598ab307f14
      
https://github.com/qemu/qemu/commit/1ceee0d5cc841fc9ca8e72b81450b598ab307f14
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M block.c
    M block.h
    M blockdev.c
    M hw/ide/core.c
    M hw/ide/pci.c
    M hw/scsi-disk.c
    M hw/virtio-blk.c

  Log Message:
  -----------
  iostatus: change is_read to a bool

Do this while we are touching this part of the code, before introducing
more uses of "int is_read".

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 3e1caa5f76a9104a0d574b0f28b3dafe986a8408
      
https://github.com/qemu/qemu/commit/3e1caa5f76a9104a0d574b0f28b3dafe986a8408
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M block.c
    M block.h
    M hw/ide/core.c
    M hw/scsi-disk.c
    M hw/virtio-blk.c
    M qemu-tool.c

  Log Message:
  -----------
  iostatus: reorganize io error code

Move the common part of IDE/SCSI/virtio error handling to the block
layer.  The new function bdrv_error_action subsumes all three of
bdrv_emit_qmp_error_event, vm_stop, bdrv_iostatus_set_err.

The same scheme will be used for errors in block jobs.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 32c81a4a6ecc3f50efc9c270a269e4d3d8a9fbd5
      
https://github.com/qemu/qemu/commit/32c81a4a6ecc3f50efc9c270a269e4d3d8a9fbd5
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M QMP/qmp-events.txt
    M block.c
    M block_int.h
    M blockjob.c
    M blockjob.h
    M monitor.c
    M monitor.h
    M qapi-schema.json

  Log Message:
  -----------
  block: introduce block job error

The following behaviors are possible:

'report': The behavior is the same as in 1.1.  An I/O error,
respectively during a read or a write, will complete the job immediately
with an error code.

'ignore': An I/O error, respectively during a read or a write, will be
ignored.  For streaming, the job will complete with an error and the
backing file will be left in place.  For mirroring, the sector will be
marked again as dirty and re-examined later.

'stop': The job will be paused and the job iostatus will be set to
failed or nospace, while the VM will keep running.  This can only be
specified if the block device has rerror=stop and werror=stop or enospc.

'enospc': Behaves as 'stop' for ENOSPC errors, 'report' for others.

In all cases, even for 'report', the I/O error is reported as a QMP
event BLOCK_JOB_ERROR, with the same arguments as BLOCK_IO_ERROR.

It is possible that while stopping the VM a BLOCK_IO_ERROR event will be
reported and will clobber the event from BLOCK_JOB_ERROR, or vice versa.
This is not really avoidable since stopping the VM completes all pending
I/O requests.  In fact, it is already possible now that a series of
BLOCK_IO_ERROR events are reported with rerror=stop, because vm_stop
calls bdrv_drain_all and this can generate further errors.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 1d809098aa9518cda41c2cf6e660d3d602614907
      
https://github.com/qemu/qemu/commit/1d809098aa9518cda41c2cf6e660d3d602614907
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M block/stream.c
    M block_int.h
    M blockdev.c
    M hmp.c
    M qapi-schema.json
    M qmp-commands.hx

  Log Message:
  -----------
  stream: add on-error argument

This patch adds support for error management to streaming.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 8f96b5be92fbd74798b97b1dc1ff5fbbe249ed11
      
https://github.com/qemu/qemu/commit/8f96b5be92fbd74798b97b1dc1ff5fbbe249ed11
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M block/blkdebug.c

  Log Message:
  -----------
  blkdebug: process all set_state rules in the old state

Currently it is impossible to write a blkdebug script that ping-pongs
between two states, because the second set-state rule will use the
state that is set in the first.  If you have

    [set-state]
    event = "..."
    state = "1"
    new_state = "2"

    [set-state]
    event = "..."
    state = "2"
    new_state = "1"

for example the state will remain locked at 1.  This can be fixed
by first processing all rules, and then setting the state.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 4f45056841abced5d57485edf0ff1d2ffc042cb1
      
https://github.com/qemu/qemu/commit/4f45056841abced5d57485edf0ff1d2ffc042cb1
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M tests/qemu-iotests/iotests.py

  Log Message:
  -----------
  qemu-iotests: map underscore to dash in QMP argument names

iotests.py provides a convenience function that uses Python keyword
arguments to represent QMP command arguments.  However, almost all
QMP commands use dashes for argument names (the sole exception is
block_set_io_throttle), and dashes are not allowed in a keyword
argument name.  Hence provide automatic conversion of underscores
to dashes.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 90f0b71153c6a85d03967244b9889f892841d835
      
https://github.com/qemu/qemu/commit/90f0b71153c6a85d03967244b9889f892841d835
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M tests/qemu-iotests/030
    M tests/qemu-iotests/030.out
    M tests/qemu-iotests/iotests.py

  Log Message:
  -----------
  qemu-iotests: add tests for streaming error handling

Add a test for each of report/ignore/stop.  The tests use blkdebug
to generate an error in the middle of a script.  The error is
recoverable (once = "on") so that we can test resuming a job after
stopping for an error.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: bd4982a6c6f1b133aff38873bc3b580af15cd334
      
https://github.com/qemu/qemu/commit/bd4982a6c6f1b133aff38873bc3b580af15cd334
  Author: Anthony PERARD <address@hidden>
  Date:   2012-10-03 (Wed, 03 Oct 2012)

  Changed paths:
    M hw/xen_platform.c

  Log Message:
  -----------
  xen: Fix, no unplug of pt device by platform device.

The Xen platform device will unplug any NICs if requested by the guest (PVonHVM)
including a NIC that would have been passthrough. This patch makes sure that a
passthrough device will not be unplug.

Reported-by: "Zhang, Yang Z" <address@hidden>
Signed-off-by: Anthony PERARD <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>


  Commit: aabc8530c7ba2be89e21463f051056ad7c255e6e
      
https://github.com/qemu/qemu/commit/aabc8530c7ba2be89e21463f051056ad7c255e6e
  Author: Xudong Hao <address@hidden>
  Date:   2012-10-03 (Wed, 03 Oct 2012)

  Changed paths:
    M hw/xen_pt.c
    M hw/xen_pt_config_init.c

  Log Message:
  -----------
  qemu/xen: Add 64 bits big bar support on qemu

Currently it is assumed PCI device BAR access < 4G memory. If there is such a
device whose BAR size is larger than 4G, it must access > 4G memory address.
This patch enable the 64bits big BAR support on qemu.

Signed-off-by: Xudong Hao <address@hidden>
Signed-off-by: Xiantao Zhang <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>


  Commit: 39f42439d0629d3921629dc4b38e68df8f2f7b83
      
https://github.com/qemu/qemu/commit/39f42439d0629d3921629dc4b38e68df8f2f7b83
  Author: Anthony PERARD <address@hidden>
  Date:   2012-10-03 (Wed, 03 Oct 2012)

  Changed paths:
    M qapi-schema.json
    M qmp-commands.hx
    M xen-all.c
    M xen-stub.c

  Log Message:
  -----------
  QMP, Introduce xen-set-global-dirty-log command.

This command is used during a migration of a guest under Xen. It calls
memory_global_dirty_log_start or memory_global_dirty_log_stop according to the
argument pass to the command.

Signed-off-by: Anthony PERARD <address@hidden>
Reviewed-by: Luiz Capitulino <address@hidden>


  Commit: 910b38e4dc4c37683c8b821e75a7f4cf095e4b21
      
https://github.com/qemu/qemu/commit/910b38e4dc4c37683c8b821e75a7f4cf095e4b21
  Author: Anthony PERARD <address@hidden>
  Date:   2012-10-03 (Wed, 03 Oct 2012)

  Changed paths:
    M hw/xen.h
    M xen-all.c
    M xen-stub.c

  Log Message:
  -----------
  xen: Introduce xen_modified_memory.

This function is to be used during live migration. Every write access to the
guest memory should call this funcion so the Xen tools knows which pages are
dirty.

Signed-off-by: Anthony PERARD <address@hidden>
Acked-by: Stefano Stabellini <address@hidden>


  Commit: 51d7a9eb2b64e787c90bea1027308087eac22065
      
https://github.com/qemu/qemu/commit/51d7a9eb2b64e787c90bea1027308087eac22065
  Author: Anthony PERARD <address@hidden>
  Date:   2012-10-03 (Wed, 03 Oct 2012)

  Changed paths:
    M exec.c

  Log Message:
  -----------
  exec: Introduce helper to set dirty flags.

This new helper/hook is used in the next patch to add an extra call in a single
place.

Signed-off-by: Anthony PERARD <address@hidden>
Reviewed-by: Avi Kivity <address@hidden>


  Commit: e226939de5814527a21396903b08c3d0ed989558
      
https://github.com/qemu/qemu/commit/e226939de5814527a21396903b08c3d0ed989558
  Author: Anthony PERARD <address@hidden>
  Date:   2012-10-03 (Wed, 03 Oct 2012)

  Changed paths:
    M exec-obsolete.h
    M exec.c

  Log Message:
  -----------
  exec, memory: Call to xen_modified_memory.

This patch add some calls to xen_modified_memory to notify Xen about dirtybits
during migration.

Signed-off-by: Anthony PERARD <address@hidden>
Reviewed-by: Avi Kivity <address@hidden>


  Commit: 8aba7dc02d5660df7e7d8651304b3079908358be
      
https://github.com/qemu/qemu/commit/8aba7dc02d5660df7e7d8651304b3079908358be
  Author: Anthony PERARD <address@hidden>
  Date:   2012-10-03 (Wed, 03 Oct 2012)

  Changed paths:
    M xen-all.c

  Log Message:
  -----------
  xen: Set the vram dirty when an error occur.

If the call to xc_hvm_track_dirty_vram() fails, then we set dirtybit on all the
video ram. This case happens during migration.

Signed-off-by: Anthony PERARD <address@hidden>
Acked-by: Stefano Stabellini <address@hidden>


  Commit: 4be403c8158e1b6be743f0fef004310cea4e3975
      
https://github.com/qemu/qemu/commit/4be403c8158e1b6be743f0fef004310cea4e3975
  Author: Avi Kivity <address@hidden>
  Date:   2012-10-04 (Thu, 04 Oct 2012)

  Changed paths:
    M .gitignore
    M Makefile
    M Makefile.hw
    M Makefile.target
    M configure
    M cpu-common.h
    M dma.h
    M hw/hw.h
    M hw/intel-hda.c
    M hw/rtl8139.c
    M monitor.c
    M target-ppc/mmu_helper.c
    M targphys.h

  Log Message:
  -----------
  Make target_phys_addr_t 64 bits unconditionally

The hassle and compile time overhead of maintaining both 32-bit and 64-bit
capable source isn't worth the tiny performance advantage which is seen on
a minority of configurations.  Switch to compiling libhw only once, with
target_phys_addr_t unconditionally typedefed to uint64_t.

Signed-off-by: Avi Kivity <address@hidden>
Signed-off-by: Anthony Liguori <address@hidden>


  Commit: 938406dfb11d8a40d9228b3596d49a583d7218ff
      
https://github.com/qemu/qemu/commit/938406dfb11d8a40d9228b3596d49a583d7218ff
  Author: Anthony Liguori <address@hidden>
  Date:   2012-10-04 (Thu, 04 Oct 2012)

  Changed paths:
    M configure
    M hw/usb/hcd-ehci.c
    M hw/usb/hcd-xhci.c
    M hw/usb/libhw.c

  Log Message:
  -----------
  Merge remote-tracking branch 'kraxel/usb.66' into staging

* kraxel/usb.66:
  usb: Fix usb_packet_map() in the presence of IOMMUs
  usb-redir: Adjust pkg-config check for usbredirparser .pc file rename (v2)
  ehci: Fix interrupt packet MULT handling
  xhci: create a memory region for each port
  xhci: route string & usb hub support
  xhci: tweak limits
  compat: turn off msi/msix on xhci for old machine types
  add pc-1.3 machine type

Conflicts:
        hw/pc_piix.c

Signed-off-by: Anthony Liguori <address@hidden>


  Commit: 6929cf11bb8ec5ff9f9e76c870c513204854a1eb
      
https://github.com/qemu/qemu/commit/6929cf11bb8ec5ff9f9e76c870c513204854a1eb
  Author: Anthony Liguori <address@hidden>
  Date:   2012-10-04 (Thu, 04 Oct 2012)

  Changed paths:
    M hw/virtio-net.c
    M hw/virtio-serial-bus.c
    M hw/virtio.c
    M hw/virtio.h
    M iov.c
    M iov.h

  Log Message:
  -----------
  Merge remote-tracking branch 'mst/tags/for_anthony' into staging

* mst/tags/for_anthony:
  virtio-serial-bus: let chardev know the exact number of bytes requested
  virtio: Introduce virtqueue_get_avail_bytes()
  virtio: use unsigned int for counting bytes in vq
  iov: add const annotation
  virtio-net: fix used len for tx
  virtio: don't mark unaccessed memory as dirty


  Commit: 97f3461555b1f5d8d4e6cfc839efe215098d786d
      
https://github.com/qemu/qemu/commit/97f3461555b1f5d8d4e6cfc839efe215098d786d
  Author: Anthony Liguori <address@hidden>
  Date:   2012-10-04 (Thu, 04 Oct 2012)

  Changed paths:
    A QMP/qemu-ga-client
    M QMP/qmp.py
    M dump.c
    M hmp-commands.hx
    M hmp.c
    M hw/kvm/pci-assign.c
    M input.c
    M migration-fd.c
    M monitor.c
    M monitor.h
    M qapi-schema.json
    M qmp-commands.hx
    M qmp.c
    M scripts/qapi-types.py
    M scripts/qapi-visit.py
    M scripts/qapi.py

  Log Message:
  -----------
  Merge remote-tracking branch 'qmp/queue/qmp' into staging

* qmp/queue/qmp:
  block: live snapshot documentation tweaks
  input: index_from_key(): drop unused code
  qmp: qmp_send_key(): accept key codes in hex
  input: qmp_send_key(): simplify
  hmp: dump-guest-memory: hardcode protocol argument to "file:"
  qmp: dump-guest-memory: don't spin if non-blocking fd would block
  qmp: dump-guest-memory: improve schema doc (again)
  qapi: convert add_client
  monitor: add Error * argument to monitor_get_fd
  pci-assign: use monitor_handle_fd_param
  qapi: add "unix" to the set of reserved words
  qapi: do not protect enum values from namespace pollution
  Add qemu-ga-client script
  Support settimeout in QEMUMonitorProtocol
  Make negotiation optional in QEMUMonitorProtocol


  Commit: 05d4f2f2ca6053bfea2e97cf324901ca18e49c76
      
https://github.com/qemu/qemu/commit/05d4f2f2ca6053bfea2e97cf324901ca18e49c76
  Author: Anthony Liguori <address@hidden>
  Date:   2012-10-04 (Thu, 04 Oct 2012)

  Changed paths:
    M Makefile.objs
    M QMP/qmp-events.txt
    M aio.c
    M block-migration.c
    M block.c
    M block.h
    M block/Makefile.objs
    M block/blkdebug.c
    A block/commit.c
    A block/gluster.c
    M block/stream.c
    M block_int.h
    M blockdev.c
    A blockjob.c
    A blockjob.h
    M configure
    M hmp-commands.hx
    M hmp.c
    M hmp.h
    M hw/fdc.c
    M hw/ide/core.c
    M hw/ide/pci.c
    M hw/scsi-disk.c
    M hw/scsi-generic.c
    M hw/virtio-blk.c
    M monitor.c
    M monitor.h
    M qapi-schema.json
    M qemu-tool.c
    M qerror.h
    M qmp-commands.hx
    M tests/qemu-iotests/030
    M tests/qemu-iotests/030.out
    A tests/qemu-iotests/040
    A tests/qemu-iotests/040.out
    M tests/qemu-iotests/group
    M tests/qemu-iotests/iotests.py
    M trace-events
    A uri.c
    A uri.h

  Log Message:
  -----------
  Merge remote-tracking branch 'kwolf/for-anthony' into staging

* kwolf/for-anthony: (30 commits)
  qemu-iotests: add tests for streaming error handling
  qemu-iotests: map underscore to dash in QMP argument names
  blkdebug: process all set_state rules in the old state
  stream: add on-error argument
  block: introduce block job error
  iostatus: reorganize io error code
  iostatus: change is_read to a bool
  iostatus: move BlockdevOnError declaration to QAPI
  iostatus: rename BlockErrorAction, BlockQMPEventAction
  qemu-iotests: add test for pausing a streaming operation
  qmp: add block-job-pause and block-job-resume
  block: add support for job pause/resume
  qmp: add 'busy' member to BlockJobInfo
  block: add block_job_query
  block: move job APIs to separate files
  block: fix documentation of block_job_cancel_sync
  qerror/block: introduce QERR_BLOCK_JOB_NOT_ACTIVE
  qemu-iotests: add initial tests for live block commit
  QAPI: add command for live block commit, 'block-commit'
  block: helper function, to find the base image of a chain
  ...


  Commit: a14c74928ba1fdaada515717f4d3c3fa3275d6f7
      
https://github.com/qemu/qemu/commit/a14c74928ba1fdaada515717f4d3c3fa3275d6f7
  Author: Anthony Liguori <address@hidden>
  Date:   2012-10-04 (Thu, 04 Oct 2012)

  Changed paths:
    M exec-obsolete.h
    M exec.c
    M hw/xen.h
    M hw/xen_platform.c
    M hw/xen_pt.c
    M hw/xen_pt_config_init.c
    M qapi-schema.json
    M qmp-commands.hx
    M xen-all.c
    M xen-stub.c

  Log Message:
  -----------
  Merge remote-tracking branch 'sstabellini/xen-2012-10-03' into staging

* sstabellini/xen-2012-10-03:
  xen: Set the vram dirty when an error occur.
  exec, memory: Call to xen_modified_memory.
  exec: Introduce helper to set dirty flags.
  xen: Introduce xen_modified_memory.
  QMP, Introduce xen-set-global-dirty-log command.
  qemu/xen: Add 64 bits big bar support on qemu
  xen: Fix, no unplug of pt device by platform device.


Compare: https://github.com/qemu/qemu/compare/e744c06fca43...a14c74928ba1

reply via email to

[Prev in Thread] Current Thread [Next in Thread]