Re: [Qemu-devel] [PATCH] linux-user: fix readlink handling with magic exe symlink

2014-08-08 Thread Mike Frysinger
please don't take this the wrong way, but i don't see how any of your comments are relevant. i didn't say "POSIX" anywhere (which isn't to say your outline of POSIX semantics are incorrect), but the QEMU linux-user layer has nothing to do with POSIX. the linux-user layer in QEMU implements the

[Qemu-devel] [Bug 1353545] Re: QED does not deliver flush on synchronized write

2014-08-08 Thread Nybble
I'm really sorry that I didn't see that call when I submit this... I was writing a experimental block image driver and found it runs too slow. It turned out that it calls bdrv_flush itself and the flush on ->file is than called again from block.c thanks for your confirmation! -- You received t

Re: [Qemu-devel] [PULL v2 0/3] qga: support fsfreeze'ing specific mounts

2014-08-08 Thread Peter Maydell
On 8 August 2014 14:02, Michael Roth wrote: > Hello, > > Please pull the following changes, which add a new guest-fsfreeze-freeze-list > command to qemu-ga that supports specifying specific mounts to freeze, and > improves the introspection information from guest-info by explicitly > blacklisting/

Re: [Qemu-devel] [PATCH v3 1/2] contrib: add ivshmem client and server

2014-08-08 Thread Stefan Hajnoczi
On Fri, Aug 08, 2014 at 10:55:17AM +0200, David Marchand wrote: Looks good, a few minor comments: > diff --git a/contrib/ivshmem-client/Makefile b/contrib/ivshmem-client/Makefile > new file mode 100644 > index 000..eee97c6 > --- /dev/null > +++ b/contrib/ivshmem-client/Makefile > @@ -0,0 +1,2

Re: [Qemu-devel] [PATCH v3 2/2] docs: update ivshmem device spec

2014-08-08 Thread Stefan Hajnoczi
On Fri, Aug 08, 2014 at 10:55:18AM +0200, David Marchand wrote: > +For each client (QEMU processes) that connects to the server: > +- the server assigns an ID for this client and sends this ID to him as the > first > + message, > +- the server sends a fd to the shared memory object to this client

[Qemu-devel] [RFC v2 0/7] machvirt dynamic sysbus device instantiation

2014-08-08 Thread Eric Auger
This RFC enables machvirt to dynamically instantiate sysbus devices from command line. the RFC originates from Alex Graf's work - "Dynamic sysbus device allocation support" http://lists.gnu.org/archive/html/qemu-ppc/2014-07/msg00047.html The code related to dynamic sysbus device IRQ and mmio re

[Qemu-devel] [RFC v2 1/7] hw/misc/dyn_sysbus_binding: helpers for sysbus device dynamic binding

2014-08-08 Thread Eric Auger
This new module implements routines which help in dynamic device binding (mmio regions, irq). They are supposed to be used by machine files that support dynamic sysbus instantiation. --- v1 -> v2: - platform_devices renamed into dyn_sysbus_binding - PlatformParams renamed into DynSysbusParams - P

[Qemu-devel] [RFC v2 5/7] hw/arm/boot: load_dtb becomes non static

2014-08-08 Thread Eric Auger
load_dtb will be used by machvirt for dynamic instantiation of platform devices Signed-off-by: Eric Auger --- hw/arm/boot.c| 2 +- include/hw/arm/arm.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/arm/boot.c b/hw/arm/boot.c index 1241761..53b43e8 100644 --- a/h

[Qemu-devel] [RFC v2 7/7] hw/arm/virt: Support dynamically spawned sysbus devices

2014-08-08 Thread Eric Auger
Allows sysbus devices to be instantiated from command line by using -device option --- v1 -> v2: - remove useless vfio-platform.h include file - s/MACHVIRT_PLATFORM_HOLE/MACHVIRT_PLATFORM_SIZE - use dyn_sysbus_binding and dyn_sysbus_devtree - dynamic sysbus platform buse size shrinked to 4MB and

[Qemu-devel] [RFC v2 4/7] e500: Add support for eTSEC in device tree

2014-08-08 Thread Eric Auger
From: Alexander Graf This patch adds support to expose eTSEC devices in the dynamically created guest facing device tree. This allows us to expose eTSEC devices into guests without changes in the machine file. Because we can now tell the guest about eTSEC devices this patch allows the user to sp

[Qemu-devel] [RFC v2 3/7] PPC: e500: Support dynamically spawned sysbus devices

2014-08-08 Thread Eric Auger
From: Alexander Graf For e500 our approach to supporting dynamically spawned sysbus devices is to create a simple bus from the guest's point of view within which we map those devices dynamically. We allocate memory regions always within the "platform" hole in address space and map IRQs to predet

[Qemu-devel] [RFC v2 6/7] hw/arm/virt: add new add_fdt_xxx_node functions

2014-08-08 Thread Eric Auger
Create new functions: - add_fdt_uart_node - add_fdt_rtc_node - add_fdt_virtio_nodes They will be used for dynamic sysbus instantiation. Signed-off-by: Eric Auger --- hw/arm/virt.c | 67 +++ 1 file changed, 44 insertions(+), 23 deletions(-)

[Qemu-devel] [RFC v2 2/7] hw/arm/dyn_sysbus_devtree: helpers for sysbus device dynamic dt node generation

2014-08-08 Thread Eric Auger
This module will be used by ARM machine files to generate device tree nodes of dynamically instantiated sysbus devices (ie. those instantiated with -device option). Signed-off-by: Alexander Graf Signed-off-by: Eric Auger --- v2: - Code moved in an arch specific file to accomodate architecture

Re: [Qemu-devel] [PULL v2 10/11] monitor: Add drift info to 'info jit'

2014-08-08 Thread Sebastian Tanase
- Mail original - > De: "Paolo Bonzini" > À: qemu-devel@nongnu.org > Cc: "Sebastian Tanase" > Envoyé: Jeudi 7 Août 2014 15:34:49 > Objet: [PULL v2 10/11] monitor: Add drift info to 'info jit' > > From: Sebastian Tanase > > Show in 'info jit' the current delay between the host clock >

[Qemu-devel] [PATCH 0/5] cmd646 tidy-up and interrupt status fixes

2014-08-08 Thread Mark Cave-Ayland
This patchset came out of my work trying to boot NetBSD on SPARC64. According to the datasheet, the 646U2 UDMA interrupt status bits are exact mirrors of the normal DMA interrupt status bits, and an interrupt can be cleared by writing a 1 to the relevant bit in PCI configuration space. The exist

[Qemu-devel] [PATCH 5/5] cmd646: synchronise UDMA interrupt status with DMA interrupt status

2014-08-08 Thread Mark Cave-Ayland
Make sure that both registers are synchronised when being accessed through PCI configuration space. Signed-off-by: Mark Cave-Ayland --- hw/ide/cmd646.c | 24 1 file changed, 24 insertions(+) diff --git a/hw/ide/cmd646.c b/hw/ide/cmd646.c index b8dc4ab..74d0deb 100644

[Qemu-devel] [PATCH 1/5] cmd646: add constants for CNTRL register access

2014-08-08 Thread Mark Cave-Ayland
Signed-off-by: Mark Cave-Ayland --- hw/ide/cmd646.c |7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/hw/ide/cmd646.c b/hw/ide/cmd646.c index a8e35fe..d8395ef 100644 --- a/hw/ide/cmd646.c +++ b/hw/ide/cmd646.c @@ -33,6 +33,9 @@ #include /* CMD646 specific */ +#def

[Qemu-devel] [PATCH 2/5] cmd646: synchronise DMA interrupt status with UDMA interrupt status

2014-08-08 Thread Mark Cave-Ayland
Make sure that the standard DMA interrupt status bits reflect any changes made to the UDMA interrupt status bits. The CMD646U2 datasheet claims that these bits are equivalent, and they must be synchronised for guests that manipulate both registers. Signed-off-by: Mark Cave-Ayland --- hw/ide/cmd6

[Qemu-devel] [PATCH 4/5] cmd646: allow MRDMODE interrupt status bits clearing from PCI config space

2014-08-08 Thread Mark Cave-Ayland
Make sure that we also update the normal DMA interrupt status bits at the same time, and alter the IRQ if being cleared accordingly. Signed-off-by: Mark Cave-Ayland --- hw/ide/cmd646.c | 32 ++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/hw/ide/

[Qemu-devel] [PATCH 3/5] cmd646: switch cmd646_update_irq() to accept PCIDevice instead of PCIIDEState

2014-08-08 Thread Mark Cave-Ayland
This is in preparation for adding configuration space accessors which accept PCIDevice as a parameter. Signed-off-by: Mark Cave-Ayland --- hw/ide/cmd646.c |9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/hw/ide/cmd646.c b/hw/ide/cmd646.c index c3c6c53..11a3e52 1006

[Qemu-devel] [PATCH 3/4] qemu-char: Convert udp char backend to parse/kind

2014-08-08 Thread Peter Maydell
Convert the udp char backend to the new style QAPI framework. Signed-off-by: Peter Maydell --- qemu-char.c | 69 +++-- 1 file changed, 54 insertions(+), 15 deletions(-) diff --git a/qemu-char.c b/qemu-char.c index cac7edb..a01ccdc 100644 -

[Qemu-devel] [PATCH 0/4] Convert remaining legacy chardevs to parse/kind

2014-08-08 Thread Peter Maydell
This patchset converts the two remaining legacy chardevs ('socket' and 'udp') to use the new-style parse/kind mechanisms, and removes all the no-longer-required legacy machinery. Patch 1 was posted to the list back in June (https://patches.linaro.org/32298/). I've fixed the obvious bug picked up i

[Qemu-devel] [PATCH 2/4] util/qemu-sockets.c: Support specifying IPv4 or IPv6 in socket_dgram()

2014-08-08 Thread Peter Maydell
Currently you can specify whether you want a UDP chardev backend to be IPv4 or IPv6 using the ipv4 or ipv6 options if you use the QemuOpts parsing code in inet_dgram_opts(). However the QMP struct parsing code in socket_dgram() doesn't provide this flexibility (which in turn prevents us from conver

[Qemu-devel] [PATCH 1/4] qemu-char: Convert socket char backend to parse/kind

2014-08-08 Thread Peter Maydell
Convert the socket char backend to the new style QAPI framework; this allows it to return an Error ** to callers who might not want it to print directly about socket failures. Signed-off-by: Peter Maydell --- qemu-char.c | 114 +++- 1 file

[Qemu-devel] [PATCH 4/4] qemu-char: Remove register_char_driver() machinery

2014-08-08 Thread Peter Maydell
Now that all the char backends have been converted to the QAPI framework we can remove the machinery for handling old style backends. Signed-off-by: Peter Maydell --- include/sysemu/char.h | 1 - qemu-char.c | 126 +++--- 2 files changed, 3

Re: [Qemu-devel] [PATCH] linux-user: Fix syscall instruction usermode emulation on X86_64

2014-08-08 Thread Richard Henderson
On 08/07/2014 05:56 PM, Jincheng Miao wrote: > Currently syscall instruction is buggy on user mode X86_64, > the EIP is updated after do_syscall(), that is too late for > clone(). Because clone() will create a thread at the env->EIP > (the address of syscall insn), and then child thread enters > do

[Qemu-devel] [Bug 1354529] [NEW] qemu-io: Assert failure on the fuzzed qcow2 image

2014-08-08 Thread Maria Kustova
Public bug reported: 'qemu-io -c write' failed on the fuzzed image with missed refcount tables: Sequence: 1. Unpack the attached archive, make a copy of test.img 2. Put copy.img and backing_img.cow in the same directory 3. Execute qemu-io copy.img -c 'write 2856960 208896' Result: qemu-io

[Qemu-devel] [PULL 04/62] block: New bdrv_nb_sectors()

2014-08-08 Thread Kevin Wolf
From: Markus Armbruster A call to retrieve the image size converts between bytes and sectors several times: * BlockDriver method bdrv_getlength() returns bytes. * refresh_total_sectors() converts to sectors, rounding up, and stores in total_sectors. * bdrv_getlength() converts total_sectors

[Qemu-devel] [PULL 01/62] nbd: Drop nbd_can_read()

2014-08-08 Thread Kevin Wolf
From: Max Reitz There is no variant of aio_set_fd_handler() like qemu_set_fd_handler2(), so we cannot give a can_read() callback function. Instead, unregister the nbd_read() function whenever we cannot read and re-register it as soon as we can read again. All this is hidden behind the functions

[Qemu-devel] [PULL 05/62] block: Use bdrv_nb_sectors() in bdrv_make_zero()

2014-08-08 Thread Kevin Wolf
From: Markus Armbruster Instead of bdrv_getlength(). Variable target_size is initially in bytes, then changes meaning to sectors. Ugh. Replace by target_sectors. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Benoit Canet Signed-off-by: Stefan Hajnoczi --- block.c

[Qemu-devel] [PULL 23/62] block/archipelago: Implement bdrv_parse_filename()

2014-08-08 Thread Kevin Wolf
From: Chrysostomos Nanakos VM Image on Archipelago volume can also be specified like this: file=archipelago:[/mport=[:vport=][: segment=]] Examples: file=archipelago:my_vm_volume file=archipelago:my_vm_volume/mport=123 file=archipelago:my_vm_volume/mport=123:vport=1234 file=archipelago:my_vm_v

[Qemu-devel] [PULL 06/62] block: Use bdrv_nb_sectors() in bdrv_aligned_preadv()

2014-08-08 Thread Kevin Wolf
From: Markus Armbruster Instead of bdrv_getlength(). Eliminate variable len. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Benoit Canet Signed-off-by: Stefan Hajnoczi --- block.c | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/block.c b/

[Qemu-devel] [PULL 00/62] Block patches

2014-08-08 Thread Kevin Wolf
The following changes since commit 69f87f713069f1f70f86cb65883f7d43e3aa21de: Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20140804' into staging (2014-08-04 15:01:38 +0100) are available in the git repository at: git://repo.or.cz/qemu/kevin.git tags/for-upstream for

[Qemu-devel] [PULL 10/62] block: Drop superfluous aligning of bdrv_getlength()'s value

2014-08-08 Thread Kevin Wolf
From: Markus Armbruster It returns a multiple of the sector size. Signed-off-by: Markus Armbruster Reviewed-by: Max Reitz Reviewed-by: Benoit Canet Signed-off-by: Stefan Hajnoczi --- block.c | 1 - block/qcow2.c | 1 - 2 files changed, 2 deletions(-) diff --git a/block.c b/block.c in

[Qemu-devel] [PULL 22/62] block: Support Archipelago as a QEMU block backend

2014-08-08 Thread Kevin Wolf
From: Chrysostomos Nanakos VM Image on Archipelago volume is specified like this: file.driver=archipelago,file.volume=[,file.mport=[, file.vport=][,file.segment=]] 'archipelago' is the protocol. 'mport' is the port number on which mapperd is listening. This is optional and if not specified, QE

[Qemu-devel] [PULL 02/62] block: Add AIO context notifiers

2014-08-08 Thread Kevin Wolf
From: Max Reitz If a long-running operation on a BDS wants to always remain in the same AIO context, it somehow needs to keep track of the BDS changing its context. This adds a function for registering callbacks on a BDS which are called whenever the BDS is attached or detached from an AIO contex

[Qemu-devel] [PULL 11/62] qemu-img: Make img_convert() get image size just once per image

2014-08-08 Thread Kevin Wolf
From: Markus Armbruster Chiefly so I don't have to do the error checking in quadruplicate in the next commit. Moreover, replacing the frequently updated bs_sectors by an array assigned just once makes the code easier to understand. Signed-off-by: Markus Armbruster Reviewed-by: Max Reitz Revie

[Qemu-devel] [PULL 14/62] configure: explicitly state version requirements to devel packages

2014-08-08 Thread Kevin Wolf
From: Hu Tao Signed-off-by: Hu Tao Signed-off-by: Stefan Hajnoczi --- configure | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/configure b/configure index f7685b5..5715fe6 100755 --- a/configure +++ b/configure @@ -3086,7 +3086,8 @@ if test "$glusterfs" != "no

[Qemu-devel] [PULL 25/62] QMP: Add support for Archipelago

2014-08-08 Thread Kevin Wolf
From: Chrysostomos Nanakos Introduce new enum BlockdevOptionsArchipelago. @volume: #Name of the Archipelago volume image @mport: #'mport' is the port number on which mapperd is listening. This is optional and if not specified,

[Qemu-devel] [PULL 16/62] docs/multiple-iothreads.txt: add documentation on IOThread programming

2014-08-08 Thread Kevin Wolf
From: Stefan Hajnoczi This document explains how IOThreads and the main loop are related, especially how to write code that can run in an IOThread. Currently only virtio-blk-data-plane uses these techniques. The next obvious target is virtio-scsi; there has also been work on virtio-net. Signed

[Qemu-devel] [PULL 03/62] nbd: Follow the BDS' AIO context

2014-08-08 Thread Kevin Wolf
From: Max Reitz Keep the NBD server always in the same AIO context as the exported BDS by calling bdrv_add_aio_context_notifier() and implementing the required callbacks. Signed-off-by: Max Reitz Reviewed-by: Stefan Hajnoczi Signed-off-by: Kevin Wolf --- nbd.c | 31 ++

[Qemu-devel] [PULL 15/62] xen_disk: fix possible null-ptr dereference

2014-08-08 Thread Kevin Wolf
From: "Gonglei (Arei)" Signed-off-by: Gonglei Signed-off-by: Stefan Hajnoczi --- hw/block/xen_disk.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/block/xen_disk.c b/hw/block/xen_disk.c index aed5b5b..a221d0b 100644 --- a/hw/block/xen_disk.c +++ b/hw/block/xen_disk.c @@ -589,6 +589,7

[Qemu-devel] [PULL 33/62] test-coroutine: add baseline test that times the cost of function calls

2014-08-08 Thread Kevin Wolf
From: Paolo Bonzini This can be used to compute the cost of coroutine operations. In the end the cost of the function call is a few clock cycles, so it's pretty cheap for now, but it may become more relevant as the coroutine code is optimized. For example, here are the results on my machine:

[Qemu-devel] [PULL 24/62] block/archipelago: Add support for creating images

2014-08-08 Thread Kevin Wolf
From: Chrysostomos Nanakos qemu-img archipelago:[/mport=[:vport=] [:segment=]] [size] Signed-off-by: Chrysostomos Nanakos Signed-off-by: Stefan Hajnoczi --- block/archipelago.c | 146 1 file changed, 146 insertions(+) diff --git a/block/a

[Qemu-devel] [PULL 07/62] block: Use bdrv_nb_sectors() in bdrv_co_get_block_status()

2014-08-08 Thread Kevin Wolf
From: Markus Armbruster Instead of bdrv_getlength(). Replace variables length, length2 by total_sectors, nb_sectors2. Bonus: use total_sectors instead of the slightly unclean bs->total_sectors. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Benoit Canet Signed-off-by:

[Qemu-devel] [PULL 13/62] docs: Make the recommendation for the backing file name position a requirement

2014-08-08 Thread Kevin Wolf
From: Maria Kustova The current version of the qcow2 specification recommends to save the backing file name in the end of the first cluster. It follows that the backing file name can be saved somewhere in the image, but the first cluster, which contradicts the current QEMU implementation. The pa

[Qemu-devel] [PULL 39/62] block: Introduce qemu_try_blockalign()

2014-08-08 Thread Kevin Wolf
This function returns NULL instead of aborting when an allocation fails. Signed-off-by: Kevin Wolf Reviewed-by: Benoit Canet --- block.c | 13 + include/block/block.h | 1 + include/qemu/osdep.h | 1 + util/oslib-posix.c| 16 ++-- util/oslib-win32.c

[Qemu-devel] [PULL 26/62] qemu-iotests: add support for Archipelago protocol

2014-08-08 Thread Kevin Wolf
From: Chrysostomos Nanakos Signed-off-by: Chrysostomos Nanakos Signed-off-by: Stefan Hajnoczi --- tests/qemu-iotests/common| 6 ++ tests/qemu-iotests/common.rc | 9 - 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/tests/qemu-iotests/common b/tests/qemu-iotests/c

[Qemu-devel] [PULL 08/62] block: Use bdrv_nb_sectors() in img_convert()

2014-08-08 Thread Kevin Wolf
From: Markus Armbruster Instead of bdrv_getlength(). Replace variable output_length by output_sectors. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Benoit Canet Signed-off-by: Stefan Hajnoczi --- qemu-img.c | 8 1 file changed, 4 insertions(+), 4 deletions

[Qemu-devel] [PULL 19/62] qemu-iotests: Add data pattern in version3 VMDK sample image in 059

2014-08-08 Thread Kevin Wolf
From: Fam Zheng It's possible that we diverge from the specification with our implementation. Having a reference image in the test cases may detect such problems when we introduce a bug that can read what it creates, but can't handle a real VMDK. Signed-off-by: Fam Zheng Signed-off-by: Stefan

[Qemu-devel] [PULL 29/62] thread-pool: avoid per-thread-pool EventNotifier

2014-08-08 Thread Kevin Wolf
From: Stefan Hajnoczi EventNotifier is implemented using an eventfd or pipe. It therefore consumes file descriptors, which can be limited by rlimits and should therefore be used sparingly. Switch from EventNotifier to QEMUBH in thread-pool.c. Originally EventNotifier was used because qemu_bh_s

[Qemu-devel] [PULL 42/62] cloop: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the cloop block driver. Signed-off-by: Kevin Wolf Reviewed-by: Stefan Hajnoc

[Qemu-devel] [PULL 09/62] block: Use bdrv_nb_sectors() where sectors, not bytes are wanted

2014-08-08 Thread Kevin Wolf
From: Markus Armbruster Instead of bdrv_getlength(). Aside: a few of these callers don't handle errors. I didn't investigate whether they should. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Benoit Canet Signed-off-by: Stefan Hajnoczi --- block-migration.c | 9 +++

[Qemu-devel] [PULL 27/62] coroutine: make pool size dynamic

2014-08-08 Thread Kevin Wolf
From: Stefan Hajnoczi Allow coroutine users to adjust the pool size. For example, if the guest has multiple emulated disk drives we should keep around more coroutines. Signed-off-by: Stefan Hajnoczi Reviewed-by: Eric Blake --- include/block/coroutine.h | 11 +++ qemu-coroutine.c

[Qemu-devel] [PULL 30/62] thread-pool: avoid deadlock in nested aio_poll() calls

2014-08-08 Thread Kevin Wolf
From: Stefan Hajnoczi The thread pool has a race condition if two elements complete before thread_pool_completion_bh() runs: If element A's callback waits for element B using aio_poll() it will deadlock since pool->completion_bh is not marked scheduled when the nested aio_poll() runs. Fix

[Qemu-devel] [PULL 44/62] dmg: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the dmg block driver. Signed-off-by: Kevin Wolf Reviewed-by: Stefan Hajnoczi

[Qemu-devel] [PULL 12/62] block: Avoid bdrv_get_geometry() where errors should be detected

2014-08-08 Thread Kevin Wolf
From: Markus Armbruster bdrv_get_geometry() hides errors. Use bdrv_nb_sectors() or bdrv_getlength() instead where that's obviously inappropriate. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Max Reitz Reviewed-by: Benoit Canet Signed-off-by: Stefan Hajnoczi --- bl

[Qemu-devel] [PULL 28/62] block: bump coroutine pool size for drives

2014-08-08 Thread Kevin Wolf
From: Stefan Hajnoczi When a BlockDriverState is associated with a storage controller DeviceState we expect guest I/O. Use this opportunity to bump the coroutine pool size by 64. This patch ensures that the coroutine pool size scales with the number of drives attached to the guest. It should i

[Qemu-devel] [PULL 43/62] curl: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the curl block driver. Signed-off-by: Kevin Wolf Reviewed-by: Stefan Hajnocz

[Qemu-devel] [PULL 32/62] block: VHDX endian fixes

2014-08-08 Thread Kevin Wolf
From: Jeff Cody This patch contains several changes for endian conversion fixes for VHDX, particularly for big-endian machines (multibyte values in VHDX are all on disk in LE format). Tests were done with existing qemu-iotests on an IBM POWER7 (8406-71Y). This includes sample images created by H

[Qemu-devel] [PULL 18/62] qdev-monitor: include QOM properties in -device FOO, help output

2014-08-08 Thread Kevin Wolf
From: Stefan Hajnoczi Update -device FOO,help to include QOM properties in addition to qdev properties. Devices are gradually adding more QOM properties that are not reflected as qdev properties. It is important to report all device properties since management tools like libvirt use this inform

[Qemu-devel] [PULL 36/62] block: use the standard 'ret' instead of 'result'

2014-08-08 Thread Kevin Wolf
From: Jeff Cody Most QEMU code uses 'ret' for function return values. The VDI driver uses a mix of 'result' and 'ret'. This cleans that up, switching over to the standard 'ret' usage. Reviewed-by: Max Reitz Signed-off-by: Jeff Cody Signed-off-by: Kevin Wolf --- block/vdi.c | 36

[Qemu-devel] [PULL 47/62] parallels: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the parallels block driver. Signed-off-by: Kevin Wolf Reviewed-by: Stefan Ha

[Qemu-devel] [PULL 17/62] qmp: hide "hotplugged" device property from device-list-properties

2014-08-08 Thread Kevin Wolf
From: Stefan Hajnoczi The "hotplugged" device property was not reported before commit f4eb32b590bf58c1c67570775eb78beb09964fad ("qmp: show QOM properties in device-list-properties"). Fix this difference. Signed-off-by: Stefan Hajnoczi Reviewed-by: Eric Blake --- qmp.c | 1 + 1 file changed,

[Qemu-devel] [PULL 38/62] block: iotest - update 084 to test static VDI image creation

2014-08-08 Thread Kevin Wolf
From: Jeff Cody This updates the VDI corruption test to also test static VDI image creation, as well as the default dynamic image creation. Reviewed-by: Max Reitz Signed-off-by: Jeff Cody Signed-off-by: Kevin Wolf --- tests/qemu-iotests/084 | 16 ++-- tests/qemu-iotests/084.o

[Qemu-devel] [PULL 37/62] block: vpc - use block layer ops in vpc_create, instead of posix calls

2014-08-08 Thread Kevin Wolf
From: Jeff Cody Use the block layer to create, and write to, the image file in the VPC .bdrv_create() operation. This has a couple of benefits: Images can now be created over protocols, and hacks such as NOCOW are not needed in the image format driver, and the underlying file protocol appropriat

[Qemu-devel] [PULL 52/62] raw-win32: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the raw-win32 block driver. Signed-off-by: Kevin Wolf Reviewed-by: Stefan Ha

[Qemu-devel] [PULL 21/62] qemu-img info: show nocow info

2014-08-08 Thread Kevin Wolf
From: Chunyan Liu Add nocow info in 'qemu-img info' output to show whether the file currently has NOCOW flag set or not. Signed-off-by: Chunyan Liu Reviewed-by: Eric Blake Signed-off-by: Stefan Hajnoczi --- block/qapi.c | 26 ++ qapi/block-core.json | 5 -

[Qemu-devel] [PULL 45/62] iscsi: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the iscsi block driver. Signed-off-by: Kevin Wolf Acked-by: Paolo Bonzini R

[Qemu-devel] [PULL 35/62] block: vdi - use block layer ops in vdi_create, instead of posix calls

2014-08-08 Thread Kevin Wolf
From: Jeff Cody Use the block layer to create, and write to, the image file in the VDI .bdrv_create() operation. This has a couple of benefits: Images can now be created over protocols, and hacks such as NOCOW are not needed in the image format driver, and the underlying file protocol appropriat

[Qemu-devel] [PULL 55/62] vhdx: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the vhdx block driver. Signed-off-by: Kevin Wolf Reviewed-by: Stefan Hajnocz

[Qemu-devel] [PULL 46/62] nfs: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the nfs block driver. Signed-off-by: Kevin Wolf Reviewed-by: Stefan Hajnoczi

[Qemu-devel] [PULL 20/62] vmdk: Optimize cluster allocation

2014-08-08 Thread Kevin Wolf
From: Fam Zheng This drops the unnecessary bdrv_truncate() from, and also improves, cluster allocation code path. Before, when we need a new cluster, get_cluster_offset truncates the image to bdrv_getlength() + cluster_size, and returns the offset of added area, i.e. the image length before trun

[Qemu-devel] [PULL 40/62] block: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses bounce buffer allocations in block.c. While at it, convert bdrv_commit() from plain g_malloc() to

[Qemu-devel] [PULL 58/62] mirror: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the mirror block job. Signed-off-by: Kevin Wolf Reviewed-by: Stefan Hajnoczi

[Qemu-devel] [PULL 50/62] qed: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the qed block driver. Signed-off-by: Kevin Wolf Reviewed-by: Stefan Hajnoczi

[Qemu-devel] [PULL 31/62] block: vhdx - add error check

2014-08-08 Thread Kevin Wolf
From: Jeff Cody This add an error check for an invalid descriptor entry signature, when flushing the log descriptor entries. Signed-off-by: Jeff Cody Reviewed-by: Stefan Hajnoczi Signed-off-by: Kevin Wolf --- block/vhdx-log.c | 5 + 1 file changed, 5 insertions(+) diff --git a/block/vhd

[Qemu-devel] [PULL 59/62] qcow2: Return useful error code in refcount_init()

2014-08-08 Thread Kevin Wolf
From: Max Reitz If bdrv_pread() returns an error, it is very unlikely that it was ENOMEM. In this case, the return value should be passed along; as bdrv_pread() will always either return the number of bytes read or a negative value (the error code), the condition for checking whether bdrv_pread()

[Qemu-devel] [PULL 48/62] qcow1: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the qcow1 block driver. Signed-off-by: Kevin Wolf Reviewed-by: Stefan Hajnoc

[Qemu-devel] [PULL 34/62] block: allow bdrv_unref() to be passed NULL pointers

2014-08-08 Thread Kevin Wolf
From: Jeff Cody If bdrv_unref() is passed a NULL BDS pointer, it is safe to exit with no operation. This will allow cleanup code to blindly call bdrv_unref() on a BDS that has been initialized to NULL. Reviewed-by: Max Reitz Signed-off-by: Jeff Cody Signed-off-by: Kevin Wolf --- block.c | 3

[Qemu-devel] [PULL 62/62] block: Catch !bs->drv in bdrv_check()

2014-08-08 Thread Kevin Wolf
From: Max Reitz qemu-img check calls bdrv_check() twice if the first run repaired some inconsistencies. If the first run however again triggered corruption prevention (on qcow2) due to very bad inconsistencies, bs->drv may be NULL afterwards. Thus, bdrv_check() should check whether bs->drv is set

[Qemu-devel] [PULL 41/62] bochs: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the bochs block driver. Signed-off-by: Kevin Wolf Reviewed-by: Stefan Hajnoc

[Qemu-devel] [PULL 53/62] rbd: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the rbd block driver. Signed-off-by: Kevin Wolf Reviewed-by: Stefan Hajnoczi

[Qemu-devel] [PULL 51/62] raw-posix: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the raw-posix block driver. Signed-off-by: Kevin Wolf Reviewed-by: Stefan Ha

[Qemu-devel] [PULL 57/62] vpc: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the vpc block driver. Signed-off-by: Kevin Wolf Reviewed-by: Stefan Hajnoczi

[Qemu-devel] [PULL 61/62] iotests: Add test for image header overlap

2014-08-08 Thread Kevin Wolf
From: Max Reitz Add a test for an image with an unallocated image header; instead of an assertion, this should result in the image being marked corrupt. Signed-off-by: Max Reitz Reviewed-by: Eric Blake Signed-off-by: Kevin Wolf --- tests/qemu-iotests/060 | 9 + tests/qemu-iotests

[Qemu-devel] [PULL 49/62] qcow2: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the qcow2 block driver. Signed-off-by: Kevin Wolf Reviewed-by: Stefan Hajnoc

[Qemu-devel] [PULL 54/62] vdi: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the vdi block driver. Signed-off-by: Kevin Wolf Reviewed-by: Stefan Hajnoczi

[Qemu-devel] [PULL 56/62] vmdk: Handle failure for potentially large allocations

2014-08-08 Thread Kevin Wolf
Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the vmdk block driver. Signed-off-by: Kevin Wolf Reviewed-by: Stefan Hajnocz

[Qemu-devel] [PULL 60/62] qcow2: Catch !*host_offset for data allocation

2014-08-08 Thread Kevin Wolf
From: Max Reitz qcow2_alloc_cluster_offset() uses host_offset == 0 as "no preferred offset" for the (data) cluster range to be allocated. However, this offset is actually valid and may be allocated on images with a corrupted refcount table or first refcount block. In this case, the corruption pr

[Qemu-devel] [PATCH v3 1/6] test-qdev-global-props: Trivial comment fix

2014-08-08 Thread Eduardo Habkost
Signed-off-by: Eduardo Habkost --- tests/test-qdev-global-props.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test-qdev-global-props.c b/tests/test-qdev-global-props.c index 2bef04c..e1a1317 100644 --- a/tests/test-qdev-global-props.c +++ b/tests/test-qdev-global-pro

[Qemu-devel] [PATCH v3 2/6] test-qdev-global-props: Run tests on subprocess

2014-08-08 Thread Eduardo Habkost
There are multiple reasons for running the global property tests on a subprocess: * We need the global_props lists to be empty for each test case, so global properties from the previous test won't affect the next one; * We don't want the qdev_prop_check_global() warnings to pollute test output

[Qemu-devel] [PATCH v3 4/6] test-qdev-global-props: Test handling of hotpluggable and non-device types

2014-08-08 Thread Eduardo Habkost
Ensure no warning will be printed for hotpluggable types, and warnings will be printed for non-device types. Signed-off-by: Eduardo Habkost --- tests/test-qdev-global-props.c | 55 ++ 1 file changed, 55 insertions(+) diff --git a/tests/test-qdev-global-pr

[Qemu-devel] [PATCH v3 0/6] Improve global validation test cases, move validation to a single function

2014-08-08 Thread Eduardo Habkost
New version of what was previously a single patch, submitted as: Subject: [PATCH v2] qdev: Move global validation to a single function Now the test cases run in a subprocess, and we are ensuring the warning messages are actually printed. Eduardo Habkost (6): test-qdev-global-props: Trivial co

[Qemu-devel] [PATCH v3 6/6] qdev: Move global validation to a single function

2014-08-08 Thread Eduardo Habkost
Currently GlobalProperty.not_used=false has multiple meanings: * It may be a property for a hotpluggable device, which may or may not have been used by a device; * It may be a machine-type-provided property, which may or may not have been used by a device. * It may be a user-provided property

[Qemu-devel] [PATCH v3 3/6] test-qdev-global-props: Initialize not_used=true for all props

2014-08-08 Thread Eduardo Habkost
This will ensure we are actually testing the code which sets not_used=false when the property is used. Signed-off-by: Eduardo Habkost --- tests/test-qdev-global-props.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tests/test-qdev-global-props.c b/tests/test-qdev-glo

[Qemu-devel] [PATCH v3 5/6] qdev: Rename qdev_prop_check_global() to qdev_prop_check_globals()

2014-08-08 Thread Eduardo Habkost
Signed-off-by: Eduardo Habkost --- hw/core/qdev-properties.c | 2 +- include/hw/qdev-properties.h | 2 +- tests/test-qdev-global-props.c | 2 +- vl.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-pr

[Qemu-devel] [PATCH v7 1/2] loader: Add load_image_gzipped function.

2014-08-08 Thread Richard W.M. Jones
As the name suggests this lets you load a ROM/disk image that is gzipped. It is uncompressed before storing it in guest memory. Signed-off-by: Richard W.M. Jones Reviewed-by: Alex Bennée --- hw/core/loader.c| 48 include/hw/loader.h | 1 +

[Qemu-devel] [PATCH v7 2/2] aarch64: Allow -kernel option to take a gzip-compressed kernel.

2014-08-08 Thread Richard W.M. Jones
On aarch64 it is the bootloader's job to uncompress the kernel. UEFI and u-boot bootloaders do this automatically when the kernel is gzip-compressed. However the qemu -kernel option does not do this. The following command does not work: qemu-system-aarch64 [...] -kernel /boot/vmlinuz because

[Qemu-devel] [PATCH v7 0/2] aarch64: Allow -kernel option to take a gzip-compressed kernel.

2014-08-08 Thread Richard W.M. Jones
Since v6: - No changes to the code. - Rebased against HEAD. - Retested on aarch64. - Added Reviewed-by tag. Rich.

<    1   2   3   >