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
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
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/
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
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
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
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
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
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
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
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
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(-)
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
- 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
>
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
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
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
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
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/
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
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
-
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
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
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
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
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
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
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
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
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
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
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/
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
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
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
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
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
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
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,
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
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 ++
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
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:
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
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:
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
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
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
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
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
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
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
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 +++
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
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
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
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
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
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
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
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
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
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
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,
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
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
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
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 -
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
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
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
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
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
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
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
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
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
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()
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 +
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
Since v6:
- No changes to the code.
- Rebased against HEAD.
- Retested on aarch64.
- Added Reviewed-by tag.
Rich.
101 - 200 of 216 matches
Mail list logo