History | View | Annotate | Download (105.3 kB)
qmp: add internal snapshot support in qmp_transaction
Unlike savevm, the qmp_transaction interface will not generatesnapshot name automatically, saving trouble to return informationof the new created snapshot.
Although qcow2 support storing multiple snapshots with same name...
qmp: add interface blockdev-snapshot-internal-sync
Snapshot ID can't be specified in this interface.
Signed-off-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
qmp: add interface blockdev-snapshot-delete-internal-sync
This interface use id and name as optional parameters, to handle thecase that one image contain multiple snapshots with same name whichmay be '', but with different id.
Adding parameter id is for historical compatiability reason, and...
docs, qapi: document qemu-img map
Eric Blake also requested including the output in qapi-schema.json,so that it is published through the introspection mechanism.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
block: Add support for throttling burst max in QMP and the command line.
The max parameter of the leaky bucket throttling algorithm can be used toallow the guest to do bursts.The max value is a pool of I/O that the guest can use without being throttled...
block: Add iops_size to do the iops accounting for a given io size.
This feature can be used in case where users are avoiding the iops limit bydoing jumbo I/Os hammering the storage backend.
Signed-off-by: Benoit Canet <benoit@irqsave.net>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
qapi: Rename ChardevBackend member "memory" to "ringbuf"
Commit 1da48c6 called the new member "memory" after commit 3949e59standardized "ringbuf". Rename for consistency.
However, member name "memory" is visible in QMP since 1.5. It'sundocumented just like the driver name. Keep it working anyway....
Revert "chardev: Make the name of memory device consistent"
This reverts commit 6a85e60cb994bd95d1537aafbff65816f3de4637.
Commit 51767e7 "qemu-char: Add new char backend CirMemCharDriver" introduced a memory ring buffer character device driver named"memory". Commit 3949e59 "qemu-char: Saner naming of memchar stuff &...
migration: add autoconvergence documentation
This hunk got lost during merge. It is documentation.
Spotted-by: Peter Lieven <lieven-lists@dlhnet.de>Signed-off-by: Juan Quintela <quintela@redhat.com>
rdma: account for the time spent in MIG_STATE_SETUP through QMP
Using the previous patches, we're now able to timestamp the SETUPstate. Once we have this time, let the user know about it in theschema.
Reviewed-by: Juan Quintela <quintela@redhat.com>Reviewed-by: Eric Blake <eblake@redhat.com>...
block-migration: efficiently encode zero blocks
this patch adds a efficient encoding for zero blocks byadding a new flag indicating a block is completely zero.
additionally bdrv_write_zeros() is used at the destinationto efficiently write these zeroes. depending on the implementation...
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci,net,pc enhancements
This includes some fixes and enhancements that accumulated in my tree:pci fixes by dkoch, virtio-net enhancements by akong and mst,and a fix for xen pc by mst.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>...
Merge remote-tracking branch 'quintela/migration.next' into staging
Message-id: 1373664508-5404-1-git-send-email-quintela@redhat.com...
net: add support of mac-programming over macvtap in QEMU side
Currently macvtap based macvlan device is working in promiscuousmode, we want to implement mac-programming over macvtap throughLibvirt for better performance.
Design: QEMU notifies Libvirt when rx-filter config is changed in guest,...
blockdev: add sync mode to drive-backup QMP command
The drive-backup command is similar to the drive-mirror command, exceptno guest data written after the command executes gets copied. Add async mode argument which determines whether the entire disk is copied,...
Add 'auto-converge' migration capability
The auto-converge migration capability allows the user to specify if theychoose live migration seqeunce to automatically detect and force convergence.
Signed-off-by: Chegu Vinod <chegu_vinod@hp.com>Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>...
qapi-schema: Use BlockdevSnapshot type for blockdev-snapshot-sync
We don't have to duplicate the definition any more now that we may referto a type instead.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com>...
qapi-schema: Use existing type for drive-backup arguments
This removes duplicated definitions and documentation by reusing theexisting data type.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>Reviewed-by: Eric Blake <eblake@redhat.com>Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
qemu-char: fix documentation for telnet+wait socket flags
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>Reviewed-by: Laszlo Ersek <lersek@redhat.com>Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
blockdev: add DriveBackup transaction
This patch adds a transactional version of the drive-backup QMP command.It allows atomic snapshots of multiple drives along with automaticcleanup if there is a failure to start one of the backup jobs.
Note that QMP events are emitted for block job completion/cancellation...
blockdev: add Abort transaction
The Abort action can be used to test QMP 'transaction' failure. Add itas the last action to exercise the .abort() and .cleanup() code pathsfor all previous actions.
Reviewed-by: Kevin Wolf <kwolf@redhat.com>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>...
block: add drive-backup QMP command
@drive-backup
Start a point-in-time copy of a block device to a new destination. Thestatus of ongoing drive-backup operations can be checked withquery-block-jobs where the BlockJobInfo.type field has the value 'backup'....
rdma: export throughput w/ MigrationStats QMP
This exposes throughput (in megabits/sec) through QMP.
Reviewed-by: Juan Quintela <quintela@redhat.com>Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Chegu Vinod <chegu_vinod@hp.com>Tested-by: Chegu Vinod <chegu_vinod@hp.com>...
rdma: introduce capability x-rdma-pin-all
This capability allows you to disable dynamic chunk registrationfor better throughput on high-performance links.
For example, using an 8GB RAM virtual machine with all 8GB of memory inactive use and the VM itself is completely idle using a 40 gbps infiniband link:...
qapi: lack of two commas in dict
Signed-off-by: Amos Kong <akong@redhat.com>Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
build: drop TARGET_TYPE
Just use the TARGET_NAME free string.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Eric Blake <eblake@redhat.com>Message-id: 1370349928-20419-6-git-send-email-pbonzini@redhat.comSigned-off-by: Peter Maydell <peter.maydell@linaro.org>
qmp: add ImageInfo in BlockDeviceInfo used by query-block
Now image info will be retrieved as an embbed json object insideBlockDeviceInfo, backing chain info and all related internal snapshotinfo can be got in the enhanced recursive structure of ImageInfo. New...
blockdev: Rename BlockdevAction -> TransactionAction
There's no reason to restrict transactions to operations related toblock devices, so rename the type now before schema introspection stopsus from doing so.
Also change the schema documentation of 'transaction' to not refer to...
chardev: Make the name of memory device consistent
Now we have memory char device, but the backend name of itis a little confusion. We actually register it by 'memory', butthe description in qemu-option, the name of open functionsand the new api backend called it 'ringbuf'. It should keep...
chardev: Make consistent with udp device for new qapi backend
When register and open a chardev udp, the backend name should be udpnot dgram, and we do not have backend dgram in the chardev list. Thispatch makes the new qapi udp backend consistent with the original...
target-i386: Add "feature-words" property to X86CPU
This property will be useful for libvirt, as libvirt already has logicbased on low-level feature bits (not feature names), so it will bereally easy to convert the current libvirt logic to something using the...
QMP: Add cpu-add command
Adds "cpu-add id=xxx" QMP command.
cpu-add's "id" argument is a CPU number in a range [0..max-cpus)
Example QMP command: > { "execute": "cpu-add", "arguments": { "id": 2 } } < { "return": {} }
Signed-off-by: Igor Mammedov <imammedo@redhat.com>...
add a new runstate: RUN_STATE_GUEST_PANICKED
The guest will be in this state when it is panicked.
Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>Reviewed-by: Markus Armbruster <armbru@redhat.com>Message-id: 0255f263ffdc2a3716f73e89098b96fd79a235b3.1366945969.git.hutao@cn.fujitsu.com...
monitor: introduce query-command-line-options
Libvirt has no way to probe if an option or property is supported,This patch introduces a new qmp command to query command lineoption information. hmp command isn't added because it's not needed.
Signed-off-by: Amos Kong <akong@redhat.com>...
Revert "New QMP command query-cpu-max and HMP command cpu_max"
This reverts commit 4d700430a20b3d53b7b15bc5f6666f7e570e3f2c as asked byLuiz. The patch has been obsoleted by extending MachineInfo structureby cpu-max field.
Signed-off-by: Michal Novotny <minovotn@redhat.com>...
qapi: use valid JSON in schema
Signed-off-by: Eric Blake <eblake@redhat.com>Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
New cpu-max field in query-machines QMP command output
Alter the query-machines QMP command to output information aboutmaximum number of CPUs for each machine type with default valueset to 1 in case the number of max_cpus is not set.
qapi schema: add AcpiTableOptions
Signed-off-by: Laszlo Ersek <lersek@redhat.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>Message-id: 1363821803-3380-5-git-send-email-lersek@redhat.comSigned-off-by: Anthony Liguori <aliguori@us.ibm.com>
help: add docs for missing 'queues' option of tap
Cc: Markus Armbruster <armbru@redhat.com>Cc: qemu-stable@nongnu.orgSigned-off-by: Jason Wang <jasowang@redhat.com>Message-id: 1361545072-30426-1-git-send-email-jasowang@redhat.comSigned-off-by: Anthony Liguori <aliguori@us.ibm.com>
virtio,pci,qom
Work by Alex to support VGA assignment,pci and virtio fixes by Stefan, Jason and myself, and anew qmp event for hotplug support by myself.
migration: do not sent zero pages in bulk stage
during bulk stage of ram migration if a page is azero page do not send it at all.the memory at the destination reads as zero anyway.
even if there is an madvise with QEMU_MADV_DONTNEEDat the target upon receipt of a zero page I have observed...
QMP: Remove duplicate TPM type from query-tpm
Signed-off-by: Corey Bryant <coreyb@linux.vnet.ibm.com>Reviewed-by: Eric Blake <eblake@redhat.com>Reviewed-by: Markus Armbruster <armbru@redhat.com>Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
New QMP command query-cpu-max and HMP command cpu_max
These commands return the maximum number of CPUs supported by thecurrently running emulator instance, as defined in its QEMUMachinestruct.
Signed-off-by: Michal Novotny <minovotn@redhat.com>Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Add top level changes for moxie
Signed-off-by: Anthony Green <green@moxielogic.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
qdev: DEVICE_DELETED event
libvirt has a long-standing bug: when removing the device,it can request removal but does not know when theremoval completes. Add an event so we can fix this in a robust way.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
chardev: add msmouse support to qapi
This patch adds 'msmouse' support to qapi and also switches overthe msmouse chardev initialization to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
chardev: add braille support to qapi
This patch adds 'braille' support to qapi and also switches overthe braille chardev initialization to the new qapi code path.
chardev: add stdio support to qapi
This patch adds 'stdio' support to qapi and also switches over thestdio chardev initialization to the new qapi code path.
chardev: add console support to qapi
This patch adds 'console' support to qapi and also switches over theconsole chardev initialization to the new qapi code path.
chardev: add pipe support to qapi
This patch adds 'pipe' support to qapi and also switches over thepipe chardev initialization to the new qapi code path.
chardev: add spice support to qapi
This patch adds 'spicevmc' and 'spiceport' support to qapi and alsoswitches over the spice chardev initialization to the new qapi codepath.
chardev: add vc support to qapi
This patch adds 'vc' support to qapi and also switches over thevc chardev initialization to the new qapi code path.
chardev: add memory (ringbuf) support to qapi
This patch adds 'memory' support to qapi and also switches overthe memory chardev initialization to the new qapi code path.
chardev: add udp support to qapi
This patch adds 'udp' support to qapi.
chardev: add mux chardev support to qapi
This adds mux chardev support to the qapi and also makes the qapi-basedchardev creation path handle the "mux=on" option correctly.
Support for TPM command line options
This patch adds support for TPM command line options.The command line options supported here are
./qemu-... -tpmdev passthrough,path=<path to TPM device>,id=<id> -device tpm-tis,tpmdev=<id>,id=<other id>...
qemu-img: add compressed clusters to BlockFragInfo
Show how many clusters are compressed. This can be used to monitor howmany compressed clusters remain and whether to recompress the image.
Suggested-by: Cole Robinson <crobinso@redhat.com>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
qemu-img: add json output option to the check command
This option --output=[human|json] makes qemu-img check output a humanor JSON representation at the choice of the user.
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>Reviewed-by: Eric Blake <eblake@redhat.com>...
help: add docs for multiqueue tap options
Cc: Markus Armbruster <armbru@redhat.com>Cc: Jason Wang <jasowang@redhat.com>Signed-off-by: Jason Wang <jasowang@redhat.com>Message-id: 1361354641-51969-1-git-send-email-jasowang@redhat.comSigned-off-by: Anthony Liguori <aliguori@us.ibm.com>
qapi: Flatten away ChardevPort
Simplifies the schema and the code.
QMP command
{ "execute" : "chardev-add", "arguments" : { "id" : "ser0", "backend" : { "type" : "port", "data" : { "type": "serial",...
qapi: Improve chardev-add documentation
Signed-off-by: Markus Armbruster <armbru@redhat.com>Message-id: 1360602348-4727-1-git-send-email-armbru@redhat.comSigned-off-by: Anthony Liguori <aliguori@us.ibm.com>
qemu-char: Saner naming of memchar stuff & doc fixes
New device, has never been released, so we can still improve thingswithout worrying about compatibility.
Naming is a mess. The code calls the device driver CirMemCharDriver,the public API calls it "memory", "memchardev", or "memchar", and the...
qmp: Fix design bug and read beyond buffer in memchar-write
Command memchar-write takes data and size parameter. Begs thequestion what happens when data doesn't match size.
With format base64, qmp_memchar_write() copies the full data argument,regardless of size argument....
qmp: Clean up design of memchar-read
The data returned has a well-defined size, which makes the sizereturned along with it redundant at best. Drop it.
Signed-off-by: Markus Armbruster <armbru@redhat.com>Reviewed-by: Eric Blake <eblake@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
qmp: Use generic errors in memchar-read, memchar-write
New errors should be generic unless there's a real use case for richerrors.
tap: multiqueue support
Recently, linux support multiqueue tap which could let userspace call TUNSETIFFfor a signle device many times to create multiple file descriptors asindependent queues. User could also enable/disabe a specific queue throughTUNSETQUEUE....
Merge remote-tracking branch 'kwolf/for-anthony' into staging
block: allow customizing the granularity of the dirty bitmap
Reviewed-by: Eric Blake <eblake@redhat.com>Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
mirror: allow customizing the granularity
The desired granularity may be very different depending on the kind ofoperation (e.g. continuous replication vs. collapse-to-raw) and whetherthe VM is expected to perform lots of I/O while mirroring is in progress....
mirror: add buf-size argument to drive-mirror
This makes sense when the next commit starts using the extra buffer spaceto perform many I/O operations asynchronously.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
QAPI: Introduce memchar-read QMP command
Signed-off-by: Lei Li <lilei@linux.vnet.ibm.com>Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
QAPI: Introduce memchar-write QMP command
balloon: drop old stats code & API
Next commit will re-enable balloon stats with a different interface, butthis old code conflicts with it. Let's drop it.
It's important to note that the QMP and HMP interfaces are also droppedby this commit. That shouldn't be a problem though, because:...
chardev: add qmp hotplug commands, with null chardev support
Add chardev-add and chardev-remove qmp commands. Hotplugginga null chardev is supported for now, more will be added later.
chardev: add file chardev support to chardev-add (qmp)
Add support for file chardevs. Output file is mandatory,input file is optional.
chardev: add serial chardev support to chardev-add (qmp)
Similar to file, except that no separate in/out files are supportedbecause it's pointless for direct device access. Also the specialtty ioctl hooks (pass through linespeed settings etc) are activated...
chardev: add parallel chardev support to chardev-add (qmp)
Also alias the old parport name to parallel for -chardev.
chardev: add socket chardev support to chardev-add (qmp)
qemu_chr_open_socket is split into two functions. All initializationafter creating the socket file handler is split away into the newqemu_chr_open_socket_fd function.
chr->filename doesn't get filled from QemuOpts any more. Qemu gathers...
chardev: add pty chardev support to chardev-add (qmp)
The ptsname is returned directly, so there is no need touse query-chardev to figure the pty device path.
slirp: Add domain-search option to slirp's DHCP server
This patch will allow the user to include the domain-search option inreplies from the built-in DHCP server. The domain suffixes can bespecified by adding dnssearch= entries to the "-net user" parameter....
Merge branch 'queue/qmp' of git://repo.or.cz/qemu/qmp-unstable
qmp: handle stop/cont in INMIGRATE state
Right now, stop followed by an incoming migration will let thevirtual machine start. cont before an incoming migration insteadwill fail.
This is bad because the actual behavior is not predictable; it isracy with respect to the start of the incoming migration. That's...
mirror: add support for on-source-error/on-target-error
Error management is important for mirroring; otherwise, an error on thetarget (even something as "innocent" as ENOSPC) requires to start againwith a full copy. Similar to on_read_error/on_write_error, two separate...
qmp: add drive-mirror command
This adds the monitor commands that start the mirroring job.
monitor: Allow add-fd to any specified fd set
The first call to add an fd to an fd set was previously notallowed to choose the fd set ID. The ID was generated asthe first available and ensuing calls could add more fds byspecifying the fd set ID. This change allows users to...
block: export dirty bitmap information in query-block
block: add block-job-complete
While streaming can be dropped as soon as it progressed through the wholeimage, mirroring needs to be completed manually for two reasons: 1) so thatmanagement knows exactly when the VM switches to the target; 2) becausefor other use cases such as replication, we may leave the operation running...
block: introduce BLOCK_JOB_READY event
Even for jobs that need to be manually completed, management may wantto take care itself of the completion, not requiring the user to issuea command to terminate the job. In this case we want to avoid thatthey poll us continuously, waiting for completion to become available....
mirror: introduce mirror job
This patch adds the implementation of a new job that mirrors a disk toa new image while letting the guest continue using the old image.The target is treated as a "black box" and data is copied from thesource to the target in the background. This can be used for several...
qmp: add NBD server commands
Adding an NBD server inside QEMU is trivial, since all the logic isin nbd.c and can be shared easily between qemu-nbd and QEMU itself.The main difference is that qemu-nbd serves a single unnamed export,while QEMU serves named exports....
qapi: add socket address types
Acked-by: Luiz Capitulino <lcapitulino@redhat.com>Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
migration: print total downtime for final phase of migration
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Orit Wasserman <owasserm@redhat.com>
migration: print expected downtime in info migrate
migration: Add dirty_pages_rate to query migrate output
It indicates how many pages were dirtied during the last second.
Merge remote-tracking branch 'sstabellini/xen-2012-10-03' into staging
QMP, Introduce xen-set-global-dirty-log command.
This command is used during a migration of a guest under Xen. It callsmemory_global_dirty_log_start or memory_global_dirty_log_stop according to theargument pass to the command.
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>...
stream: add on-error argument
This patch adds support for error management to streaming.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Eric Blake <eblake@redhat.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>