qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 315a13: coroutine: Fix use after free with qe


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 315a13: coroutine: Fix use after free with qemu_coroutine_...
Date: Tue, 10 Mar 2015 09:00:13 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 315a1309defd8ddf910c6c17e28cbbd7faf92f2e
      
https://github.com/qemu/qemu/commit/315a1309defd8ddf910c6c17e28cbbd7faf92f2e
  Author: Kevin Wolf <address@hidden>
  Date:   2015-03-09 (Mon, 09 Mar 2015)

  Changed paths:
    M qemu-coroutine.c

  Log Message:
  -----------
  coroutine: Fix use after free with qemu_coroutine_yield()

Instead of using the same function for entering and exiting coroutines,
and hoping that it doesn't add any functionality that hurts with the
parameters used for exiting, we can just directly call into the real
task switch in qemu_coroutine_switch().

This fixes a use-after-free scenario where reentering a coroutine that
has yielded still accesses the old parent coroutine (which may have
meanwhile terminated) in the part of coroutine_swap() that follows
qemu_coroutine_switch().

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


  Commit: cd12bb567cdcd9665a5acdecd6ac8afd9a977003
      
https://github.com/qemu/qemu/commit/cd12bb567cdcd9665a5acdecd6ac8afd9a977003
  Author: Kevin Wolf <address@hidden>
  Date:   2015-03-09 (Mon, 09 Mar 2015)

  Changed paths:
    M include/block/coroutine_int.h
    M qemu-coroutine.c

  Log Message:
  -----------
  coroutine: Clean up qemu_coroutine_enter()

qemu_coroutine_enter() is now the only user of coroutine_swap(). Both
functions are short, so inline it.

Also, using COROUTINE_YIELD is now even more confusing because this code
is never called during qemu_coroutine_yield() any more. In fact, this
value is never read back, so we can just introduce a new COROUTINE_ENTER
which documents the purpose of the task switch better.

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


  Commit: 7c2eed3efa86c19436bc33372bfa9d7fbb6fda2c
      
https://github.com/qemu/qemu/commit/7c2eed3efa86c19436bc33372bfa9d7fbb6fda2c
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2015-03-09 (Mon, 09 Mar 2015)

  Changed paths:
    M tests/test-coroutine.c

  Log Message:
  -----------
  test-coroutine: Regression test for yield bug

This adds a test for reentering a coroutine that previously yielded to a
coroutine that has meanwhile terminated.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 3f3f20dcd34fc2fcf6dea2fe4e9b45d1c4d67288
      
https://github.com/qemu/qemu/commit/3f3f20dcd34fc2fcf6dea2fe4e9b45d1c4d67288
  Author: Kevin Wolf <address@hidden>
  Date:   2015-03-09 (Mon, 09 Mar 2015)

  Changed paths:
    M block/vpc.c

  Log Message:
  -----------
  vpc: Fix size in fixed image creation

If total_sectors is rounded to match the geometry, total_size needs to
be changed as well. Otherwise we end up with an image whose geometry
describes a disk larger than the image file, which doesn't end well.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Max Reitz <address@hidden>


  Commit: 0cc84887068eeb59eed84dbab6547b39e83d739c
      
https://github.com/qemu/qemu/commit/0cc84887068eeb59eed84dbab6547b39e83d739c
  Author: Kevin Wolf <address@hidden>
  Date:   2015-03-09 (Mon, 09 Mar 2015)

  Changed paths:
    M block/vpc.c

  Log Message:
  -----------
  vpc: Implement bdrv_co_get_block_status()

This implements bdrv_co_get_block_status() for VHD images. This can
significantly speed up qemu-img convert operation because only with this
function implemented sparseness can be considered. (Before, converting a
1 TB empty image took several minutes for me, now it's instantaneous.)

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Max Reitz <address@hidden>


  Commit: 876eb1b0cc2b04927739cba10e4e73e8b990d65e
      
https://github.com/qemu/qemu/commit/876eb1b0cc2b04927739cba10e4e73e8b990d65e
  Author: Teruaki Ishizaki <address@hidden>
  Date:   2015-03-09 (Mon, 09 Mar 2015)

  Changed paths:
    M block/sheepdog.c
    M include/block/block_int.h

  Log Message:
  -----------
  sheepdog: selectable object size support

Previously, qemu block driver of sheepdog used hard-coded VDI object size.
This patch enables users to handle VDI object size.

When you start qemu, you don't need to specify additional command option.

But when you create the VDI which doesn't have default object size
with qemu-img command, you specify object_size option.

If you want to create a VDI of 8MB object size,
you need to specify following command option.

 # qemu-img create -o object_size=8M sheepdog:test1 100M

In addition, when you don't specify qemu-img command option,
a default value of sheepdog cluster is used for creating VDI.

 # qemu-img create sheepdog:test2 100M

Signed-off-by: Teruaki Ishizaki <address@hidden>
Acked-by: Hitoshi Mitake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: a6dcf097fad2773fdee9ea12f8452dcc259e9ee1
      
https://github.com/qemu/qemu/commit/a6dcf097fad2773fdee9ea12f8452dcc259e9ee1
  Author: Denis V. Lunev <address@hidden>
  Date:   2015-03-09 (Mon, 09 Mar 2015)

  Changed paths:
    M block/raw-posix.c

  Log Message:
  -----------
  block/raw-posix: fix compilation warning on OSX

block/raw-posix.c:947:19: warning: unused variable 's' [-Wunused-variable]
    BDRVRawState *s = aiocb->bs->opaque;

This variable is used only when on of the following macros are defined
CONFIG_XFS, CONFIG_FALLOCATE, CONFIG_FALLOCATE_PUNCH_HOLE or
CONFIG_FALLOCATE_ZERO_RANGE. Fortunately, CONFIG_FALLOCATE_PUNCH_HOLE
and CONFIG_FALLOCATE_ZERO_RANGE could be defined only along with
CONFIG_FALLOCATE. Therefore checking for CONFIG_XFS or CONFIG_FALLOCATE
would be enough.

Signed-off-by: Denis V. Lunev <address@hidden>
CC: Peter Maydell <address@hidden>
CC: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 20a1f9d07125bead22efd1dc208b4d14ae1b2a21
      
https://github.com/qemu/qemu/commit/20a1f9d07125bead22efd1dc208b4d14ae1b2a21
  Author: Kevin Wolf <address@hidden>
  Date:   2015-03-09 (Mon, 09 Mar 2015)

  Changed paths:
    M block/qcow2.h

  Log Message:
  -----------
  qcow2: Remove unused struct QCowCreateState

The only user went away five years ago with commit a9420734 ('qcow2:
Simplify image creation'). It's about time to remove it.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>


  Commit: a209f4615c6853a226e847810b6c607c71b6a046
      
https://github.com/qemu/qemu/commit/a209f4615c6853a226e847810b6c607c71b6a046
  Author: Fam Zheng <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/block/virtio-blk.c

  Log Message:
  -----------
  virtio-blk: Check return value of blk_aio_ioctl

Since commit 1dc936aa84 (virtio-blk: Use blk_aio_ioctl) we silently lose
the request if blk_aio_ioctl returns NULL (not implemented).

Fix it by directly returning VIRTIO_BLK_S_UNSUPP as we used to do.

Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>

[ kwolf: Fixed build error on win32 ]

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


  Commit: 728312b8c81564e437902aeca9f51fdb1e7c52b6
      
https://github.com/qemu/qemu/commit/728312b8c81564e437902aeca9f51fdb1e7c52b6
  Author: Marc Marí <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M tests/libqos/virtio-pci.c
    M tests/libqos/virtio.c
    M tests/libqos/virtio.h
    M tests/virtio-blk-test.c

  Log Message:
  -----------
  libqos: Change use of pointers to uint64_t in virtio

Convert use of pointers in functions of virtio to uint64_t in order to make it
platform-independent.

Add casting from pointers (in PCI functions) to uint64_t and vice versa through
uintptr_t.

Signed-off-by: Marc Marí <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 38d8364f4f9388b9f3a593d2664d019cf6c72b38
      
https://github.com/qemu/qemu/commit/38d8364f4f9388b9f3a593d2664d019cf6c72b38
  Author: Marc Marí <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M tests/virtio-blk-test.c

  Log Message:
  -----------
  tests: Prepare virtio-blk-test for multi-arch implementation

Modularize functions in virtio-blk-test and add PCI suffix for PCI specific
components.

Signed-off-by: Marc Marí <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 50311a81f812d234ed0782df7a09971978e226a5
      
https://github.com/qemu/qemu/commit/50311a81f812d234ed0782df7a09971978e226a5
  Author: Marc Marí <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M tests/libqos/virtio-pci.c
    M tests/libqos/virtio-pci.h
    M tests/virtio-blk-test.c

  Log Message:
  -----------
  libqos: Remove PCI assumptions in constants of virtio driver

Convert PCI-specific constants names of libqos virtio driver.

Signed-off-by: Marc Marí <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 870a306dec0cfdf32c8179acfd2c4d0bfd000d6b
      
https://github.com/qemu/qemu/commit/870a306dec0cfdf32c8179acfd2c4d0bfd000d6b
  Author: Marc Marí <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    A tests/libqos/malloc-generic.c
    A tests/libqos/malloc-generic.h

  Log Message:
  -----------
  libqos: Add malloc generic

This malloc is a basic interface implementation that works for any platform.
It should be replaced in the future for a real malloc implementation for each
of the platforms.

Signed-off-by: Marc Marí <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 0a6ed700061fdd86b3c4b71366be42503ac2ce23
      
https://github.com/qemu/qemu/commit/0a6ed700061fdd86b3c4b71366be42503ac2ce23
  Author: Marc Marí <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M tests/Makefile
    A tests/libqos/virtio-mmio.c
    A tests/libqos/virtio-mmio.h
    M tests/virtio-blk-test.c

  Log Message:
  -----------
  libqos: Add virtio MMIO support

Add virtio MMIO support.
Add virtio-blk-test MMIO test case.

Signed-off-by: Marc Marí <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 346a53df38e29021e4a9e8c2a759b05744902857
      
https://github.com/qemu/qemu/commit/346a53df38e29021e4a9e8c2a759b05744902857
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/qcow2-refcount.c
    M block/qcow2.c
    M block/qcow2.h

  Log Message:
  -----------
  qcow2: Add two new fields to BDRVQcowState

Add two new fields regarding refcount information (the bit width of
every entry and the maximum refcount value) to the BDRVQcowState.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 0709c5a1530b046183b6e96d9631affcff76c1fc
      
https://github.com/qemu/qemu/commit/0709c5a1530b046183b6e96d9631affcff76c1fc
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/qcow2.c
    M qapi/block-core.json
    M tests/qemu-iotests/060.out
    M tests/qemu-iotests/065
    M tests/qemu-iotests/067.out
    M tests/qemu-iotests/082.out
    M tests/qemu-iotests/089.out

  Log Message:
  -----------
  qcow2: Add refcount_bits to format-specific info

Add the bit width of every refcount entry to the format-specific
information.

In contrast to lazy_refcounts and the corrupt flag, this should be
always emitted, even for compat=0.10 although it does not support any
refcount width other than 16 bits. This is because if a boolean is
optional, one normally assumes it to be false when omitted; but if an
integer is not specified, it is rather difficult to guess its value.

This new field breaks some test outputs, fix them.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: c6e9d8ae6629aaf3c6d483032d219b988d78583f
      
https://github.com/qemu/qemu/commit/c6e9d8ae6629aaf3c6d483032d219b988d78583f
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/qcow2-refcount.c

  Log Message:
  -----------
  qcow2: Do not return new value after refcount update

qcow2_update_cluster_refcount() does not have any quick access to the
new refcount value, it has to call qcow2_get_refcount(). Some callers do
not need that new value at all, others call qcow2_get_refcount()
themselves anyway (albeit in a different code path, which can however be
easily changed), therefore there is no advantage in making
qcow2_update_cluster_refcount() return the new value. Drop it.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 7324c10f96c821b00d691e2c8ced67d8536bf1d6
      
https://github.com/qemu/qemu/commit/7324c10f96c821b00d691e2c8ced67d8536bf1d6
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/qcow2-cluster.c
    M block/qcow2-refcount.c
    M block/qcow2.h

  Log Message:
  -----------
  qcow2: Only return status from qcow2_get_refcount

Refcounts can theoretically be of type uint64_t; in order to be able to
represent the full range, qcow2_get_refcount() cannot use a single
variable to represent both all refcount values and also keep some values
reserved for errors.

One solution would be to add an Error pointer parameter to
qcow2_get_refcount(); however, no caller could (currently) pass that
error message, so it would have to be emitted immediately and be
passed to the next caller by returning -EIO or something similar.
Therefore, an Error parameter does not offer any advantages here.

The solution applied by this patch is simpler to use. Because no caller
would be able to pass the error message, they would have to print it and
free it, whereas with this patch the caller only needs to pass the
returned integer (which is often a no-op from the code perspective,
because that integer will be stored in a variable "ret" which will be
returned by the fail path of many callers).

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 2aabe7c7a16cee6b1b54592fa05b5f9c23c89bc0
      
https://github.com/qemu/qemu/commit/2aabe7c7a16cee6b1b54592fa05b5f9c23c89bc0
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/qcow2-cluster.c
    M block/qcow2-refcount.c
    M block/qcow2.h

  Log Message:
  -----------
  qcow2: Use unsigned addend for update_refcount()

update_refcount() and qcow2_update_cluster_refcount() currently take a
signed addend. At least one caller passes a value directly derived from
an absolute refcount that should be reached ("l2_refcount - 1" in
expand_zero_clusters_in_l1()). Therefore, the addend should be unsigned
as well; this will be especially important for 64 bit refcounts.

Because update_refcount() then no longer knows whether the refcount
should be increased or decreased, it now requires an additional flag
which specified exactly that. The same applies to
qcow2_update_cluster_refcount().

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 0e06528e980b8ac7695a219f8405d3cdc52a1381
      
https://github.com/qemu/qemu/commit/0e06528e980b8ac7695a219f8405d3cdc52a1381
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/qcow2-cluster.c
    M block/qcow2-refcount.c
    M block/qcow2.h

  Log Message:
  -----------
  qcow2: Use 64 bits for refcount values

Refcounts may have a width of up to 64 bits, so qemu should use the same
width to represent refcount values internally.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 5fee192efdfe2161d392491e6f68bffb406b18e1
      
https://github.com/qemu/qemu/commit/5fee192efdfe2161d392491e6f68bffb406b18e1
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/qcow2-refcount.c

  Log Message:
  -----------
  qcow2: Helper for refcount array reallocation

Add a helper function for reallocating a refcount array, independent of
the refcount order. The newly allocated space is zeroed and the function
handles failed reallocations gracefully.

The helper function will always align the buffer size to a cluster
boundary; if storing the refcounts in such an array in big endian byte
order, this makes it possible to write parts of the array directly as
refcount blocks into the image file.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 7453c96b78c2b09aa72924f933bb9616e5474194
      
https://github.com/qemu/qemu/commit/7453c96b78c2b09aa72924f933bb9616e5474194
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/qcow2-refcount.c
    M block/qcow2.h

  Log Message:
  -----------
  qcow2: Helper function for refcount modification

Since refcounts do not always have to be a uint16_t, all refcount blocks
and arrays in memory should not have a specific type (thus they become
pointers to void) and for accessing them, two helper functions are used
(a getter and a setter). Those functions are called indirectly through
function pointers in the BDRVQcowState so they may later be exchanged
for different refcount orders.

With the check and repair functions using this function, the refcount
array they are creating will be in big endian byte order; additionally,
using realloc_refcount_array() makes the size of this refcount array
always cluster-aligned. Both combined allow rebuild_refcount_structure()
to drop the bounce buffer which was used to convert parts of the
refcount array to big endian byte order and store them on disk. Instead,
those parts can now be written directly.

[ kwolf: Fixed a build failure on 32 bit and another with old glib ]

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 59c0cb7830be68080c6a0d1449253b954350e57d
      
https://github.com/qemu/qemu/commit/59c0cb7830be68080c6a0d1449253b954350e57d
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/qcow2-refcount.c

  Log Message:
  -----------
  qcow2: More helpers for refcount modification

Add helper functions for getting and setting refcounts in a refcount
array for any possible refcount order, and choose the correct one during
refcount initialization.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: b72faf9f78377e38342f78ffacdfa0726f5e7511
      
https://github.com/qemu/qemu/commit/b72faf9f78377e38342f78ffacdfa0726f5e7511
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Open images with refcount order != 4

No longer refuse to open images with a different refcount entry width
than 16 bits; only reject images with a refcount width larger than 64
bits (which is prohibited by the specification).

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: bd4b167f84840865b788e9f236585f77a77b10fc
      
https://github.com/qemu/qemu/commit/bd4b167f84840865b788e9f236585f77a77b10fc
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: refcount_order parameter for qcow2_create2

Add a refcount_order parameter to qcow2_create2(), use that value for
the image header and for calculating the size required for
preallocation.

For now, always pass 4.

This addition requires changes to the calculation of the file size for
the "full" and "falloc" preallocation modes. That in turn is a nice
opportunity to add a comment about that calculation not necessarily
being exact (and that being intentional).

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 8a17b83cc3d4aa61ed24e2682aaf8ada7130f03d
      
https://github.com/qemu/qemu/commit/8a17b83cc3d4aa61ed24e2682aaf8ada7130f03d
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Use symbolic macros in qcow2_amend_options

qcow2_amend_options() should not compare options against some inline
strings but rather use the symbolic macros available for each of the
creation options.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 5262caa75468adce44b57ed9c076b2f22bd9315f
      
https://github.com/qemu/qemu/commit/5262caa75468adce44b57ed9c076b2f22bd9315f
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M tests/qemu-iotests/007
    M tests/qemu-iotests/015
    M tests/qemu-iotests/026
    M tests/qemu-iotests/029
    M tests/qemu-iotests/051
    M tests/qemu-iotests/058
    M tests/qemu-iotests/067
    M tests/qemu-iotests/079
    M tests/qemu-iotests/079.out
    M tests/qemu-iotests/080
    M tests/qemu-iotests/089
    M tests/qemu-iotests/108
    M tests/qemu-iotests/common.filter

  Log Message:
  -----------
  iotests: Prepare for refcount_bits option

Some tests do not work well with certain refcount widths (i.e. you
cannot create internal snapshots with refcount_bits=1), so make those
widths unsupported.

Furthermore, add another filter to _filter_img_create in common.filter
which filters out the refcount_bits value.

This is necessary for test 079, which does actually work with any
refcount width, but invoking qemu-img directly leads to the
refcount_bits value being visible in the output; use _make_test_img
instead which will filter it out.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 06d05fa738915ab82577289a0b81b3e600c4e749
      
https://github.com/qemu/qemu/commit/06d05fa738915ab82577289a0b81b3e600c4e749
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/qcow2.c
    M include/block/block_int.h
    M tests/qemu-iotests/049.out
    M tests/qemu-iotests/082.out
    M tests/qemu-iotests/085.out

  Log Message:
  -----------
  qcow2: Allow creation with refcount order != 4

Add a creation option to qcow2 for setting the refcount order of images
to be created, and respect that option's value.

This breaks some test outputs, fix them.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: d2eed8c6d9601cddc9dff2940d87bc022e9bd03c
      
https://github.com/qemu/qemu/commit/d2eed8c6d9601cddc9dff2940d87bc022e9bd03c
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

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

  Log Message:
  -----------
  iotests: Add test for different refcount widths

Add a test for errors specific to certain widths (i.e. snapshots with
refcount_bits=1).

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: a069e2f1372a0a823ab506fc019852a2a652aa54
      
https://github.com/qemu/qemu/commit/a069e2f1372a0a823ab506fc019852a2a652aa54
  Author: John Snow <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/blkdebug.c
    M tests/qemu-iotests/026.out

  Log Message:
  -----------
  blkdebug: fix "once" rule

Background:
  The blkdebug scripts are currently engineered so that when a debug
event occurs, a prefilter browses a master list of parsed rules for a
certain event and adds them to an "active list" of rules to be used for
the forthcoming action, provided the events and state numbers match.

  Then, once the request is received, the last active rule is used to
inject an error if certain parameters match.

  This active list is cleared every time the prefilter injects a new
rule for the first time during a debug event.

  The "once" rule currently causes the error injection, if it is
triggered, to only clear the active list. This is insufficient for
preventing future injections of the same rule.

Remedy:
  This patch /deletes/ the rule from the list that the prefilter
browses, so it is gone for good. In V2, we remove only the rule of
interest from the active list instead of allowing the "once" rule to
clear the entire list of active rules.

Impact:
  This affects iotests 026. Several ENOSPC tests that used "once" can
be seen to have output that shows multiple failure messages. After
this patch, the error messages tend to be smaller and less severe, but
the injection can still be seen to be working. I have patched the
expected output to expect the smaller error messages.

Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Max Reitz <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 892b7de832681cdfff22a6e96cb0280b59684024
      
https://github.com/qemu/qemu/commit/892b7de832681cdfff22a6e96cb0280b59684024
  Author: Ekaterina Tumanova <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block.c
    M include/block/block.h
    M include/block/block_int.h

  Log Message:
  -----------
  block: add bdrv functions for geometry and blocksize

Add driver functions for geometry and blocksize detection

Signed-off-by: Ekaterina Tumanova <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 8a4ed0d1b16d8932362ffecf8f6f79e6340a585f
      
https://github.com/qemu/qemu/commit/8a4ed0d1b16d8932362ffecf8f6f79e6340a585f
  Author: Ekaterina Tumanova <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/raw-posix.c

  Log Message:
  -----------
  raw-posix: Factor block size detection out of raw_probe_alignment()

Put it in new probe_logical_blocksize().

Signed-off-by: Ekaterina Tumanova <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 1a9335e4a94d0f0c635a5284aa3ba5dc50d24f70
      
https://github.com/qemu/qemu/commit/1a9335e4a94d0f0c635a5284aa3ba5dc50d24f70
  Author: Ekaterina Tumanova <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/raw-posix.c
    M block/raw_bsd.c

  Log Message:
  -----------
  block: Add driver methods to probe blocksizes and geometry

Introduce driver methods of defining disk blocksizes (physical and
logical) and hard drive geometry.
Methods are only implemented for "host_device". For "raw" devices
driver calls child's method.

For now geometry detection will only work for DASD devices. To check
that a local check_for_dasd function was introduced. It calls BIODASDINFO2
ioctl and returns its rc.

Blocksizes detection function will probe sizes for DASD devices.

Signed-off-by: Ekaterina Tumanova <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: f0272c4db2a914453a6254f80bfe3b708a0b2426
      
https://github.com/qemu/qemu/commit/f0272c4db2a914453a6254f80bfe3b708a0b2426
  Author: Ekaterina Tumanova <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/block-backend.c
    M include/sysemu/block-backend.h

  Log Message:
  -----------
  block-backend: Add wrappers for blocksizes and geometry probing

Signed-off-by: Ekaterina Tumanova <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 0eb28a42284ec32e6f283985d2d638474a05eba4
      
https://github.com/qemu/qemu/commit/0eb28a42284ec32e6f283985d2d638474a05eba4
  Author: Ekaterina Tumanova <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/block/block.c
    M hw/block/hd-geometry.c
    M hw/block/nvme.c
    M hw/block/virtio-blk.c
    M hw/core/qdev-properties.c
    M hw/ide/qdev.c
    M hw/scsi/scsi-disk.c
    M hw/usb/dev-storage.c
    M include/hw/block/block.h
    M include/hw/qdev-properties.h

  Log Message:
  -----------
  BlockConf: Call backend functions to detect geometry and blocksizes

geometry: hd_geometry_guess function autodetects the drive geometry.
This patch adds a block backend call, that probes the backing device
geometry. If the inner driver method is implemented and succeeds
(currently only for DASDs), the blkconf_geometry will pass-through
the backing device geometry. Otherwise will fallback to old logic.

blocksize: This patch initializes blocksize properties to 0.
In order to set the property a blkconf_blocksizes was introduced.
If user didn't set physical or logical blocksize, it will
retrieve its value from a driver (only succeeds for DASD), otherwise
it will set default 512 value.

The blkconf_blocksizes call was added to all users of BlkConf.

Signed-off-by: Ekaterina Tumanova <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 06b95b1ee75706592929e7e91cf18373fd0e6697
      
https://github.com/qemu/qemu/commit/06b95b1ee75706592929e7e91cf18373fd0e6697
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/ide/pci.c

  Log Message:
  -----------
  ide: start extracting ide_restart_dma out of bmdma_restart_dma

This patch begins refactoring the restart dma functions
out of bmdma to be shared with AHCI and other future
IDE HBA implementations.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: bd8892c4e6d681517c687ec5ac86eed46b3bb23b
      
https://github.com/qemu/qemu/commit/bd8892c4e6d681517c687ec5ac86eed46b3bb23b
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/ide/internal.h
    M hw/ide/pci.c

  Log Message:
  -----------
  ide: prepare to move restart to common code

This patch adds the restart_dma callback and adjusts
the ide_restart_dma function to utilize this callback
to call the BMDMA-specific restart code instead of statically
executing BMDMA-specific code.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: f878c916077d510be3276dad7c36f606cdcea80a
      
https://github.com/qemu/qemu/commit/f878c916077d510be3276dad7c36f606cdcea80a
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/ide/cmd646.c
    M hw/ide/core.c
    M hw/ide/internal.h
    M hw/ide/piix.c
    M hw/ide/via.c

  Log Message:
  -----------
  ide: introduce ide_register_restart_cb

A helper is added that registers the IDEDMAOp .restart_cb()
via qemu_add_vm_change_state_handler instead of requiring
each HBA to register the callback themselves.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 2745df813d82724f2633a9b2ba7f7c5717d7509b
      
https://github.com/qemu/qemu/commit/2745df813d82724f2633a9b2ba7f7c5717d7509b
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/ide/pci.c

  Log Message:
  -----------
  ide: do not use BMDMA in restart callback

Whenever an error stops the VM, ide_handle_rw_error does
"s->bus->dma->unit = s->unit".  So we can just use
idebus_active_if.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: d34fceda8feb6c36722f41f3e1db40cf2af82ea8
      
https://github.com/qemu/qemu/commit/d34fceda8feb6c36722f41f3e1db40cf2af82ea8
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/ide/core.c
    M hw/ide/pci.c

  Log Message:
  -----------
  ide: pass IDEBus to the restart_cb

Pass the containing IDEBus to the restart_cb instead
of the more specific BMDMAState child.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 9898586d8929a7f1293fc64164b67a79289b074f
      
https://github.com/qemu/qemu/commit/9898586d8929a7f1293fc64164b67a79289b074f
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/ide/core.c
    M hw/ide/internal.h
    M hw/ide/pci.c
    M hw/ide/pci.h

  Log Message:
  -----------
  ide: move restart callback to common code

With BMDMA specific excised from the restart functions,
create a HBA-agnostic restart callback to be shared
between the different HBAs.

Change the callback registered with the vmstate_change
handler to always point to ide_restart_cb instead of
relying on the IDEDMAOps.restart_cb() member.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: fe09c7c9f0e8ed8793e986cf616c8de0a9518fd7
      
https://github.com/qemu/qemu/commit/fe09c7c9f0e8ed8793e986cf616c8de0a9518fd7
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/ide/ahci.c
    M hw/ide/core.c
    M hw/ide/internal.h
    M hw/ide/macio.c

  Log Message:
  -----------
  ide: remove restart_cb callback

With restarts now handled by ide_restart_cb and
the IDEDMAOps.restart_dma() member, remove the old
restart_cb callback.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: a96cb236290ef8e54b061b30c41835e435905d7a
      
https://github.com/qemu/qemu/commit/a96cb236290ef8e54b061b30c41835e435905d7a
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/ide/ahci.c
    M hw/ide/core.c
    M hw/ide/internal.h
    M hw/ide/macio.c
    M hw/ide/pci.c
    M hw/ide/pci.h

  Log Message:
  -----------
  ide: replace set_unit callback with more IDEBus state

Start moving the initial state of the current request to IDEBus, so that
AHCI can use it.  The set_unit callback is not used anymore once this is
done.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: dc5d0af49a90571813b9cbcea90c0bbbea0d4a22
      
https://github.com/qemu/qemu/commit/dc5d0af49a90571813b9cbcea90c0bbbea0d4a22
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/ide/core.c
    M hw/ide/internal.h
    M hw/ide/pci.c
    M hw/ide/pci.h

  Log Message:
  -----------
  ide: place initial state of the current request to IDEBus

This moves more common restarting logic to the core IDE code.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: d12b9ff2a4e21587e5b180008c88a0e6e1ec8ac5
      
https://github.com/qemu/qemu/commit/d12b9ff2a4e21587e5b180008c88a0e6e1ec8ac5
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/ide/core.c

  Log Message:
  -----------
  ide: migrate initial request state via IDEBus

This only breaks backwards migration compatibility if the bus is in
an error state.  It is in principle possible to avoid this by making
two subsections (one for version 1, and one for version 2, but with
the same name) with different "_needed" callbacks.  The v1 callback would
return true if error_status != 0 and the bus is PATA; the v2 callback
would return true if error_status != 0 and the bus is AHCI.

Forward migration keeps working.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: c71c06d437d4cccf753cb41731e5a71f54317a01
      
https://github.com/qemu/qemu/commit/c71c06d437d4cccf753cb41731e5a71f54317a01
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/ide/atapi.c
    M hw/ide/core.c

  Log Message:
  -----------
  ide: commonize io_buffer_index initialization

Resetting the io_buffer_index to 0 is commonized,
with the exception of the case within ide_atapi_cmd_reply,
where we need to reset this index to 0 prior to the
ide_atapi_cmd_reply_end call.

Note that not all calls to ide_atapi_cmd_reply_end
expect the index to be 0, so setting it there is
not appropriate.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 4e2b8b4a4e8fcc598f7b9df15aa8949a1ab096e8
      
https://github.com/qemu/qemu/commit/4e2b8b4a4e8fcc598f7b9df15aa8949a1ab096e8
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/ide/core.c
    M hw/ide/internal.h

  Log Message:
  -----------
  ide: make more functions static

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: d32c76b3add2cb5216ae6931ef06632b802a6f68
      
https://github.com/qemu/qemu/commit/d32c76b3add2cb5216ae6931ef06632b802a6f68
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/ide/isa.c

  Log Message:
  -----------
  ide: support PIO restart for the ISA controller

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: bd6649101d044df446c66949cb6c1462c8989726
      
https://github.com/qemu/qemu/commit/bd6649101d044df446c66949cb6c1462c8989726
  Author: John Snow <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/ide/ahci.c
    M hw/ide/internal.h

  Log Message:
  -----------
  ahci: Migrate IDEStatus

Amazingly, we weren't doing this before.

Make sure we migrate the IDEState structure that belongs to
the AHCIDevice.IDEBus structure during migrations.

No version numbering changes because AHCI is not officially
migratable (and we can all see with good reason why) so we
do not impact any official builds by altering the stream and
leaving it at version 1.

This fixes the rerror=stop/werror=stop test case where we wish
to migrate a halted job. Previously, the error code would not
migrate, so even if the job completed successfully, AHCI would
report an error because it would still have the placeholder
error code from initialization time.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: e8ef87433ee005d304ba19c56488474432eb0c53
      
https://github.com/qemu/qemu/commit/e8ef87433ee005d304ba19c56488474432eb0c53
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/ide/ahci.c

  Log Message:
  -----------
  ahci: add support for restarting non-queued commands

This is easy, since start_dma already restarts processing from the
beginning of the PRDT.

Migration is also easy to cover; the comment about busy_slot is
wrong, busy_slot will only be set if there is an error.  In this
case we have nothing to do really.  The core IDE code will restart
the operation and command list processing will proceed after the
erroring command has been completed.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: c27c73aaf924655b2cc2e74384a639805acededb
      
https://github.com/qemu/qemu/commit/c27c73aaf924655b2cc2e74384a639805acededb
  Author: John Snow <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/ide/ahci.c

  Log Message:
  -----------
  ahci: Recompute cur_cmd on migrate post load

When the AHCI HBA device is migrated, all of the information that
led to the request being created is stored in the AHCIDevice
structures, except for pointers into guest data where return
information needs to be stored.

The "cur_cmd" field is usually responsible for this.

To rebuild the cur_cmd pointer post-migration, we can utilize
the busy_slot index to figure out where the command header
we are still processing is.

This allows a machine in a halted state from rerror=stop or
werror=stop to be migrated and resume operations without issue.

Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: baca2b9e3a94be1690fc4a842a97b64a4c8f892c
      
https://github.com/qemu/qemu/commit/baca2b9e3a94be1690fc4a842a97b64a4c8f892c
  Author: John Snow <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M tests/ide-test.c

  Log Message:
  -----------
  qtest/ide: Test flush / retry for ISA and PCI

This patch adds tests for werror and rerror functionality
for the PCI and ISA ide buses.

Tests for the AHCI device are to be included at a later
date after requisite patches have been merged upstream
to support needed functionality by the tests.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 4a42f6d408079830099dbffc1b0cb2869db69215
      
https://github.com/qemu/qemu/commit/4a42f6d408079830099dbffc1b0cb2869db69215
  Author: John Snow <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M tests/libqos/ahci.c

  Log Message:
  -----------
  libqos/ahci: Zero-fill AHCI headers

Even though it's just the reserved space, make sure they're zeroes.

Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: d63b4017c2dff9cf0f15d06d5f604a97a30ef4c5
      
https://github.com/qemu/qemu/commit/d63b4017c2dff9cf0f15d06d5f604a97a30ef4c5
  Author: John Snow <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M tests/ahci-test.c

  Log Message:
  -----------
  qtest/ahci: Add a macro bootup routine

Add a routine that can be used to engage the AHCI
device at a not-granular level so that bringing up
the functionality of the HBA is easy in future tests
that are not concerned with testing the bring-up process.

Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: f9f963e0fbba98d7ece75287c40d0c1b249dc9b4
      
https://github.com/qemu/qemu/commit/f9f963e0fbba98d7ece75287c40d0c1b249dc9b4
  Author: John Snow <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M tests/libqos/ahci.c
    M tests/libqos/ahci.h

  Log Message:
  -----------
  libqos/ahci: add ahci command helpers

ahci_command_set_flags:  Set additional flags in the command header.
ahci_command_clr_flags:  Clear flags from the command header.
ahci_command_set_offset: Change the IO sector from 0.
ahci_command_adjust:     Adjust many values simultaneously.

To be used to adjust the command header if the default values/guesses
were incorrect or undesirable.

Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>

[ kwolf: Fixed conflicting prototype for ahci_command_adjust() ]

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


  Commit: d6c403edc7ce890be12915f12eb02062bf275ca8
      
https://github.com/qemu/qemu/commit/d6c403edc7ce890be12915f12eb02062bf275ca8
  Author: John Snow <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M tests/ahci-test.c

  Log Message:
  -----------
  qtest/ahci: Add DMA test variants

These test a few different pathways in the AHCI code.

short:  Test the minimum transfer size, exactly one sector.
simple: Test a transfer using a single PRD, in this case, 4K.
double: Test transferring 8K, which we will split up as two PRDs.
long:   Test transferring a lot of data using many PRDs, 256K.
Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: bda39dc241b1c216158aa990936d08f0a1ad26e3
      
https://github.com/qemu/qemu/commit/bda39dc241b1c216158aa990936d08f0a1ad26e3
  Author: John Snow <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M tests/ahci-test.c

  Log Message:
  -----------
  qtest/ahci: Add PIO and LBA48 tests

In addition to DMA tests, test PIO and LBA48 command pathways in AHCI.
To accomplish this, a primitive multiplexer for gtest is added.

Though guests may prefer not to issue PIO commands directly except
for single sector cases during early boot and shutdown, these pathways
are still used for the transfer of ATAPI commands as well, and should
be behaving well.

Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: e0c59cc7608f84fcaddc827e05d38af8d10447a3
      
https://github.com/qemu/qemu/commit/e0c59cc7608f84fcaddc827e05d38af8d10447a3
  Author: John Snow <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M tests/ahci-test.c

  Log Message:
  -----------
  qtest/ahci: add fragmented dma test

Test what happens when we try to use extremely short PRDTs
to accomplish a small data transfer.

Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 833a7cc36e63653641558ba27148076f9a32062f
      
https://github.com/qemu/qemu/commit/833a7cc36e63653641558ba27148076f9a32062f
  Author: Liu Yuan <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/sheepdog.c

  Log Message:
  -----------
  sheepdog: fix confused return values

These functions mix up -1 and -errno in return values and would might cause
trouble error handling in the call chain.

This patch let them return -errno and add some comments.

Cc: address@hidden
Cc: Markus Armbruster <address@hidden>
Cc: Kevin Wolf <address@hidden>
Cc: Stefan Hajnoczi <address@hidden>
Reported-by: Markus Armbruster <address@hidden>
Signed-off-by: Liu Yuan <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 1e34cf9681ec549e26f30daaabc1ce58d60446f7
      
https://github.com/qemu/qemu/commit/1e34cf9681ec549e26f30daaabc1ce58d60446f7
  Author: Marc Marí <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M tests/libqos/virtio-pci.c

  Log Message:
  -----------
  libqos: Solve bug in interrupt checking when using MSIX in virtio-pci.c

The MSIX interrupt was always acked without checking its value, which caused a
race condition. If the ISR was raised between the read and the acking, the ISR
was never detected and it timed out.

Signed-off-by: Marc Marí <address@hidden>
Reviewed-by: John Snow <address@hidden>
Tested-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 9b7d2d8b076ff12f0d7b4246aec8f421b4150aae
      
https://github.com/qemu/qemu/commit/9b7d2d8b076ff12f0d7b4246aec8f421b4150aae
  Author: Marc Marí <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M tests/virtio-blk-test.c

  Log Message:
  -----------
  tests: Check QVIRTIO_F_ANY_LAYOUT flag in virtio-blk test

Check the QVIRTIO_F_ANY_LAYOUT flag before performing operations with 2
descriptor layout. This is to follow the specification strictly.

This patch depends on:
[PATCH v5 0/5] libqos: Virtio MMIO driver

Signed-off-by: Marc Marí <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 4c0542ea60d21b56a9157d3f6331d2df8990d3bb
      
https://github.com/qemu/qemu/commit/4c0542ea60d21b56a9157d3f6331d2df8990d3bb
  Author: Fam Zheng <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/block/virtio-blk.c

  Log Message:
  -----------
  virtio-blk: Remove the stale FIXME comment

By default, we have ioeventfd enabled, so the IO request processing is
in IO thread; in the vcpu thread, guest mode is returned to as quickly
as possible, and completion is delivered via irqfd. Therefore this
comment from the initial implementation is barely relevant.

Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 2726958d5eaa3e8242a56014a33e2420280cdd57
      
https://github.com/qemu/qemu/commit/2726958d5eaa3e8242a56014a33e2420280cdd57
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M tests/qemu-iotests/051.out

  Log Message:
  -----------
  iotests: Fix 051's reference output

Commit c4bacafb717de55538311b80a185ce9166b8daa2 changed (improved)
qdev_init_nofail()'s error reporting, which affects iotest 051. Fix the
reference output.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 005628bc8a1693c3dcb00ff2dc3a67cf92c61a13
      
https://github.com/qemu/qemu/commit/005628bc8a1693c3dcb00ff2dc3a67cf92c61a13
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

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

  Log Message:
  -----------
  iotests: Remove 006

vpc does support images > 127 GB if done correctly. qemu does it
correctly. Remove the test pretending otherwise.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: aef58bdc1e7d8f37cdf838b49f160c520399c84f
      
https://github.com/qemu/qemu/commit/aef58bdc1e7d8f37cdf838b49f160c520399c84f
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M tests/qemu-iotests/004
    M tests/qemu-iotests/104

  Log Message:
  -----------
  iotests: Drop vpc from 004's and 104's format list

Both tests require the test image to have a specific size; this cannot
be guaranteed by vpc (unless tuning the test specifically for that
format).

It is safe to exclude vpc from 004 because what is tested there is
implemented in a generic part in the block layer and not
format-specific.

It is safe to exclude vpc from 104 because for vpc basically every image
size is "unaligned", so if that would break at some point in time, we
would quickly notice just by running the generic tests.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: f0ab6f109630940146cbaf47d0cd99993ddba824
      
https://github.com/qemu/qemu/commit/f0ab6f109630940146cbaf47d0cd99993ddba824
  Author: Max Reitz <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/vdi.c

  Log Message:
  -----------
  block/vdi: Add locking for parallel requests

When allocating a new cluster, the first write to it must be the one
doing the allocation, because that one pads its write request to the
cluster size; if another write to that cluster is executed before it,
that write will be overwritten due to the padding.

See https://bugs.launchpad.net/qemu/+bug/1422307 for what can go wrong
without this patch.

Cc: qemu-stable <address@hidden>
Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: df1d4c341a735334de23513f17bf110c8c49b3e7
      
https://github.com/qemu/qemu/commit/df1d4c341a735334de23513f17bf110c8c49b3e7
  Author: Ekaterina Tumanova <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M hw/scsi/scsi-disk.c

  Log Message:
  -----------
  scsi-hd: fix property unset case

Commit c53659f0 ("BlockConf: Call backend functions to detect geometry
and blocksizes") causes a segmentation fault on the invalid
configuration of a scsi device without a drive.

Let's check for conf.blk before calling blkconf_blocksizes. The error
will be handled later on in scsi_realize anyway.

Reported-by: Max Reitz <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Ekaterina Tumanova <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 354483e50726140d9c6cb5ff0e1698bd5f17a2d5
      
https://github.com/qemu/qemu/commit/354483e50726140d9c6cb5ff0e1698bd5f17a2d5
  Author: Christian Borntraeger <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M tests/qemu-iotests/051
    M tests/qemu-iotests/051.out

  Log Message:
  -----------
  Add testcase for scsi-hd devices without drive property

Lets add a test for scsi devices without a drive. This was broken
by a recent block patch, thus indicating that we need a testcase.

Suggested-by: Kevin Wolf <address@hidden>
Signed-off-by: Christian Borntraeger <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 27994d587940b0c72d5f1d69f6e1a62a02f26dc9
      
https://github.com/qemu/qemu/commit/27994d587940b0c72d5f1d69f6e1a62a02f26dc9
  Author: Markus Armbruster <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/sheepdog.c

  Log Message:
  -----------
  sheepdog: Fix misleading error messages in sd_snapshot_create()

If do_sd_create() fails, it first reports the error returned, then
reports a another one with strerror(errno).  errno is meaningless at
that point.

Report just one error combining the valid information from both
messages.

Reported-by: Eric Blake <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Liu Yuan <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: c095348b914b740d8364a2ccf748e4284de3b68b
      
https://github.com/qemu/qemu/commit/c095348b914b740d8364a2ccf748e4284de3b68b
  Author: John Snow <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add jsnow as IDE maintainer

It has been proposed that the block layer be split up into smaller,
more manageable portions to help speed up the review and merging of
block layer patches.

As part of this process, I propose that I take over the IDE, ATA, ATAPI
and FD devices.

As we split out the block layer, we will begin using the qemu-block
mailing list as a catchall for all of the block layer subcomponents.
Please CC address@hidden for all block layer patches, including
any that touch the IDE/Floppy devices.

Signed-off-by: John Snow <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 22d182e82b4ba2fb78b2cc22bcec4e6a440b0ad6
      
https://github.com/qemu/qemu/commit/22d182e82b4ba2fb78b2cc22bcec4e6a440b0ad6
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M block/raw-posix.c

  Log Message:
  -----------
  block/raw-posix: fix launching with failed disks

Since commit c25f53b06eba1575d5d0e92a0132455c97825b83 ("raw: Probe
required direct I/O alignment") QEMU has failed to launch if image files
produce I/O errors.

Previously, QEMU would launch successfully and the guest would see the
errors when attempting I/O.

This is a regression and may prevent multipath I/O inside the guest,
where QEMU must launch and let the guest figure out by itself which
disks are online.

Tweak the alignment probing code in raw-posix.c to explicitly look for
EINVAL on Linux instead of bailing.  The kernel refuses misaligned
requests with this error code and other error codes can be ignored.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 1a6e597995c8c0125d1f305b583d6de083e44c73
      
https://github.com/qemu/qemu/commit/1a6e597995c8c0125d1f305b583d6de083e44c73
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

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

  Log Message:
  -----------
  iotests: add O_DIRECT alignment probing test

This test case checks that image files can be opened even if I/O
produces EIO errors.  QEMU should not refuse opening failed disks since
the guest may be configured for multipath I/O where accessing failed
disks is expected.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 280458a34abcca2ba70843a089a35468c81e3740
      
https://github.com/qemu/qemu/commit/280458a34abcca2ba70843a089a35468c81e3740
  Author: Jeff Cody <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add jcody as blockjobs, block devices maintainer

The block layer maintainership is being split up into smaller, more
manageable pieces.

I propose that I take over / assist with the following areas:

    * blockjobs
    * archipelago
    * curl
    * gluster
    * nfs
    * rbd
    * sheepdog
    * ssh
    * vhdx

As John Snow noted in a different patch:

As we split out the block layer, we will begin using the qemu-block
mailing list as a catchall for all of the block layer subcomponents.
Please CC address@hidden for all block layer patches, including
any that touch the above listed areas.

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


  Commit: 1976058109890892db8ec88bfd3273f79c459f6b
      
https://github.com/qemu/qemu/commit/1976058109890892db8ec88bfd3273f79c459f6b
  Author: Peter Maydell <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M MAINTAINERS
    M block.c
    M block/blkdebug.c
    M block/block-backend.c
    M block/qcow2-cluster.c
    M block/qcow2-refcount.c
    M block/qcow2.c
    M block/qcow2.h
    M block/raw-posix.c
    M block/raw_bsd.c
    M block/sheepdog.c
    M block/vdi.c
    M block/vpc.c
    M hw/block/block.c
    M hw/block/hd-geometry.c
    M hw/block/nvme.c
    M hw/block/virtio-blk.c
    M hw/core/qdev-properties.c
    M hw/ide/ahci.c
    M hw/ide/atapi.c
    M hw/ide/cmd646.c
    M hw/ide/core.c
    M hw/ide/internal.h
    M hw/ide/isa.c
    M hw/ide/macio.c
    M hw/ide/pci.c
    M hw/ide/pci.h
    M hw/ide/piix.c
    M hw/ide/qdev.c
    M hw/ide/via.c
    M hw/scsi/scsi-disk.c
    M hw/usb/dev-storage.c
    M include/block/block.h
    M include/block/block_int.h
    M include/block/coroutine_int.h
    M include/hw/block/block.h
    M include/hw/qdev-properties.h
    M include/sysemu/block-backend.h
    M qapi/block-core.json
    M qemu-coroutine.c
    M tests/Makefile
    M tests/ahci-test.c
    M tests/ide-test.c
    M tests/libqos/ahci.c
    M tests/libqos/ahci.h
    A tests/libqos/malloc-generic.c
    A tests/libqos/malloc-generic.h
    A tests/libqos/virtio-mmio.c
    A tests/libqos/virtio-mmio.h
    M tests/libqos/virtio-pci.c
    M tests/libqos/virtio-pci.h
    M tests/libqos/virtio.c
    M tests/libqos/virtio.h
    M tests/qemu-iotests/004
    R tests/qemu-iotests/006
    R tests/qemu-iotests/006.out
    M tests/qemu-iotests/007
    M tests/qemu-iotests/015
    M tests/qemu-iotests/026
    M tests/qemu-iotests/026.out
    M tests/qemu-iotests/029
    M tests/qemu-iotests/049.out
    M tests/qemu-iotests/051
    M tests/qemu-iotests/051.out
    M tests/qemu-iotests/058
    M tests/qemu-iotests/060.out
    M tests/qemu-iotests/065
    M tests/qemu-iotests/067
    M tests/qemu-iotests/067.out
    M tests/qemu-iotests/079
    M tests/qemu-iotests/079.out
    M tests/qemu-iotests/080
    M tests/qemu-iotests/082.out
    M tests/qemu-iotests/085.out
    M tests/qemu-iotests/089
    M tests/qemu-iotests/089.out
    M tests/qemu-iotests/104
    M tests/qemu-iotests/108
    A tests/qemu-iotests/112
    A tests/qemu-iotests/112.out
    A tests/qemu-iotests/128
    A tests/qemu-iotests/128.out
    M tests/qemu-iotests/common.filter
    M tests/qemu-iotests/group
    M tests/test-coroutine.c
    M tests/virtio-blk-test.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging

Block patches for 2.3

# gpg: Signature made Tue Mar 10 13:03:17 2015 GMT using RSA key ID C88F2FD6
# gpg: Good signature from "Kevin Wolf <address@hidden>"

* remotes/kevin/tags/for-upstream: (73 commits)
  MAINTAINERS: Add jcody as blockjobs, block devices maintainer
  iotests: add O_DIRECT alignment probing test
  block/raw-posix: fix launching with failed disks
  MAINTAINERS: Add jsnow as IDE maintainer
  sheepdog: Fix misleading error messages in sd_snapshot_create()
  Add testcase for scsi-hd devices without drive property
  scsi-hd: fix property unset case
  block/vdi: Add locking for parallel requests
  iotests: Drop vpc from 004's and 104's format list
  iotests: Remove 006
  iotests: Fix 051's reference output
  virtio-blk: Remove the stale FIXME comment
  tests: Check QVIRTIO_F_ANY_LAYOUT flag in virtio-blk test
  libqos: Solve bug in interrupt checking when using MSIX in virtio-pci.c
  sheepdog: fix confused return values
  qtest/ahci: add fragmented dma test
  qtest/ahci: Add PIO and LBA48 tests
  qtest/ahci: Add DMA test variants
  libqos/ahci: add ahci command helpers
  qtest/ahci: Add a macro bootup routine
  ...

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/8437f7be3b1c...197605810989

reply via email to

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