qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 1b19bb: iotests: 124: Split into two test cla


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 1b19bb: iotests: 124: Split into two test classes
Date: Fri, 18 Dec 2015 09:30:04 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 1b19bb9d17052def5ec39c2fdb2b09066bd086ec
      
https://github.com/qemu/qemu/commit/1b19bb9d17052def5ec39c2fdb2b09066bd086ec
  Author: John Snow <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M tests/qemu-iotests/124

  Log Message:
  -----------
  iotests: 124: Split into two test classes

Split it into an abstract test class and an implementation class.

The split is primarily to facilitate more flexible setUp variations
for other kinds of tests without having to rewrite or shuffle around
all of these helpers.

See the following two patches for more of the "why."

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


  Commit: ce2cbc49102c684d6d6014085447e208f2cbfb21
      
https://github.com/qemu/qemu/commit/ce2cbc49102c684d6d6014085447e208f2cbfb21
  Author: John Snow <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M tests/qemu-iotests/124

  Log Message:
  -----------
  iotests: 124: move incremental failure test

Code motion only, in preparation for adjusting
the setUp procedure for this test.

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


  Commit: 35cea22373fd8ec10575cb218304bea9b162447f
      
https://github.com/qemu/qemu/commit/35cea22373fd8ec10575cb218304bea9b162447f
  Author: John Snow <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M tests/qemu-iotests/124

  Log Message:
  -----------
  iotests: 124: don't reopen qcow2

Don't create two interfaces to the same drive in the recently moved
failure test.

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


  Commit: 5365f44dfa4669a8d37ec309c421c7512959d509
      
https://github.com/qemu/qemu/commit/5365f44dfa4669a8d37ec309c421c7512959d509
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

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

  Log Message:
  -----------
  qcow2: Add .bdrv_join_options callback

qcow2 accepts a few driver-specific options that overlap semantically
(e.g. "overlap-check" is an alias of "overlap-check.template", and any
missing cache size option is derived from the given ones).

When bdrv_reopen() merges the set of updated options with left out
options that should be kept at their old value, we need to consider this
and filter out any duplicates (which would generally cause errors
because new and old value would contradict each other).

This patch adds a .bdrv_join_options callback to BlockDriver and
implements it for qcow2.

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


  Commit: cddff5bae1c8e0e21a5e6da04eff1d0a4423e5f3
      
https://github.com/qemu/qemu/commit/cddff5bae1c8e0e21a5e6da04eff1d0a4423e5f3
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Fix reopen with semantically overlapping options

This fixes bdrv_reopen() calls like the following one:

    qemu-io -c 'open -o overlap-check.template=all /tmp/test.qcow2' \
    -c 'reopen -o overlap-check=none'

The approach taken so far would result in an options QDict that has both
"overlap-check.template=all" and "overlap-check=none", which obviously
conflicts. In this case, the old option should be overridden by the
newly specified option.

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


  Commit: 40365552c2fceacc9800ec9a87b9ead516a9a6ce
      
https://github.com/qemu/qemu/commit/40365552c2fceacc9800ec9a87b9ead516a9a6ce
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block/mirror.c

  Log Message:
  -----------
  mirror: Error out when a BDS would get two BBs

bdrv_replace_in_backing_chain() asserts that not both old and new
BlockDdriverState have a BlockBackend attached to them because both
would have to end up pointing to the new BDS and we don't support more
than one BB per BDS yet.

Before we can safely allow references to existing nodes as backing
files, we need to make sure that even if a backing file has a BB on it,
this doesn't crash qemu.

There are probably also some cases with the 'replaces' option set where
drive-mirror could fail this assertion today. They are fixed with this
error check as well.

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


  Commit: d9b7b05703399fbc9b87553d7f164ffba1db4aa4
      
https://github.com/qemu/qemu/commit/d9b7b05703399fbc9b87553d7f164ffba1db4aa4
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

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

  Log Message:
  -----------
  block: Allow references for backing files

For bs->file, using references to existing BDSes has been possible for a
while already. This patch enables the same for bs->backing.

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


  Commit: 9e700c1ac6337e448e75e66a5753a9d2168d06c2
      
https://github.com/qemu/qemu/commit/9e700c1ac6337e448e75e66a5753a9d2168d06c2
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Consider all block layer options in append_open_options

The code already special-cased "node-name", which is currently the only
option passed in the QDict that isn't driver-specific. Generalise the
code to take all general block layer options into consideration.

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


  Commit: 260fecf13b0d30621dc88da03dc1b502b7358c6b
      
https://github.com/qemu/qemu/commit/260fecf13b0d30621dc88da03dc1b502b7358c6b
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

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

  Log Message:
  -----------
  block: Exclude nested options only for children in append_open_options()

Some drivers have nested options (e.g. blkdebug rule arrays), which
don't belong to a child node and shouldn't be removed. Don't remove all
options with "." in their name, but check for the complete prefixes of
actually existing child nodes.

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


  Commit: 4cdd01d32ee6fe04f8d909bfd3708be6864873a2
      
https://github.com/qemu/qemu/commit/4cdd01d32ee6fe04f8d909bfd3708be6864873a2
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block.c
    M block/blkdebug.c
    M block/blkverify.c
    M block/nbd.c
    M block/quorum.c
    M include/block/block_int.h

  Log Message:
  -----------
  block: Pass driver-specific options to .bdrv_refresh_filename()

In order to decide whether a blkdebug: filename can be produced or a
json: one is necessary, blkdebug checked whether bs->options had more
options than just "config", "x-image" or "image" (the latter including
nested options). That doesn't work well when generic block layer options
are present.

This patch passes an option QDict to the driver that contains only
driver-specific options, i.e. the options for the general block layer as
well as child nodes are already filtered out. Works much better this
way.

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


  Commit: 62392ebb09fc6e87626aa151a616f24c4e921493
      
https://github.com/qemu/qemu/commit/62392ebb09fc6e87626aa151a616f24c4e921493
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Keep "driver" in bs->options

Instead of passing a separate drv argument to bdrv_open_common(), just
make sure that a "driver" option is set in the QDict. This also means
that a "driver" entry is consistently present in bs->options now.

This is another step towards keeping all options in the QDict (which is
the represenation of the blockdev-add QMP command).

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


  Commit: 4c9dfe5d8a7eb956513593720b8d1a9ca2c5a7f9
      
https://github.com/qemu/qemu/commit/4c9dfe5d8a7eb956513593720b8d1a9ca2c5a7f9
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Allow specifying child options in reopen

If the child was defined in the same context (-drive argument or
blockdev-add QMP command) as its parent, a reopen of the parent should
work the same and allow changing options of the child.

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


  Commit: 2851810223a6f2a3f6c00613477feb6e33c10d34
      
https://github.com/qemu/qemu/commit/2851810223a6f2a3f6c00613477feb6e33c10d34
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: reopen: Document option precedence and refactor accordingly

The interesting part of reopening an image is from which sources the
effective options should be taken, i.e. which options take precedence
over which other options. This patch documents the precedence that will
be implemented in the following patches.

It also refactors bdrv_reopen_queue(), so that the top-level reopened
node is handled the same way as children are. Option/flag inheritance
from the parent becomes just one item in the list and is done at the
beginning of the function, similar to how the other items are/will be
handled.

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


  Commit: 8e2160e2c75522554647e197e8b61622d6cf076f
      
https://github.com/qemu/qemu/commit/8e2160e2c75522554647e197e8b61622d6cf076f
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

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

  Log Message:
  -----------
  block: Add infrastructure for option inheritance

Options are not actually inherited from the parent node yet, but this
commit lays the grounds for doing so.

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


  Commit: de3b53f00761d32b7363f25135b0807d8927c0ec
      
https://github.com/qemu/qemu/commit/de3b53f00761d32b7363f25135b0807d8927c0ec
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Split out parse_json_protocol()

The next patch distinguishes options that were explicitly set and
options that were derived. bdrv_fill_option() added options of both
types: Options given by json: syntax should be counted as explicit, but
the rest is derived.

In preparation for the distinction, move json: parse to a separate
function.

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


  Commit: 145f598e4a96f6bb78664852bd589e4ea326be94
      
https://github.com/qemu/qemu/commit/145f598e4a96f6bb78664852bd589e4ea326be94
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

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

  Log Message:
  -----------
  block: Introduce bs->explicit_options

bs->options doesn't only contain options that the user explicitly
requested, but also option that were derived from flags, the filename or
inherited from the parent node.

For reopen, it is important to know the difference because reopening the
parent can change inherited values in child nodes, but it shouldn't
change any options that were explicitly specified for the child.

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


  Commit: 39c4ae941ed992a3bb5647fe7fafdd66d9278f43
      
https://github.com/qemu/qemu/commit/39c4ae941ed992a3bb5647fe7fafdd66d9278f43
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M blockdev.c
    M tests/hd-geo-test.c
    M tests/qemu-iotests/iotests.py

  Log Message:
  -----------
  blockdev: Set 'format' indicates non-empty drive

Creating an empty drive while specifying 'format' doesn't make sense.
The specified format driver would simply be ignored.

Make a set 'format' option an indication that a non-empty drive should
be created. This makes 'format' consistent with 'driver' and allows
using it with a block driver that doesn't need any other options (like
null-co/null-aio).

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


  Commit: fc17c259314d066109eb3810e2a83348d531426a
      
https://github.com/qemu/qemu/commit/fc17c259314d066109eb3810e2a83348d531426a
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

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

  Log Message:
  -----------
  qemu-iotests: Remove cache mode test without medium

Specifying the cache mode for a driver without a medium is not a useful
thing to do: As long as there is no medium, the cache mode doesn't make
a difference, and once the 'change' command is used to insert a medium,
it ignores the old cache mode and makes the new medium use
cache=writethrough.

Later patches will make it an error to specify the cache mode for an
empty drive. Remove the corresponding test case.

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


  Commit: ccf9dc07b5c8f3b927d53e9ef8c712c2973d79c7
      
https://github.com/qemu/qemu/commit/ccf9dc07b5c8f3b927d53e9ef8c712c2973d79c7
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: reopen: Extract QemuOpts for generic block layer options

This patch adds a QemuOpts for generic block layer options to
bdrv_reopen_prepare(). The only two options that currently exist
(node-name and driver) cannot be changed, so the only thing we do is
putting them right back into the QDict so that we check at the end that
they are indeed unchanged.

We will add new options soon that can actually be changed.

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


  Commit: 91a097e7478940483e76d52217f05bc05b98d5a5
      
https://github.com/qemu/qemu/commit/91a097e7478940483e76d52217f05bc05b98d5a5
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block.c
    M blockdev.c

  Log Message:
  -----------
  block: Move cache options into options QDict

This adds the cache mode options to the QDict, so that they can be
specified for child nodes (e.g. backing.cache.direct=off).

The cache modes are not removed from the flags at this point; instead,
options and flags are kept in sync. If the user specifies both flags and
options, the options take precedence.

Child node inherit cache modes as options now, they don't use flags any
more.

Note that this forbids specifying the cache mode for empty drives. It
didn't make sense anyway to specify it there, because it didn't have any
effect. blockdev_init() considers the cache options now bdrv_open()
options and therefore doesn't create an empty drive any more but calls
into bdrv_open(). This in turn will fail with no driver and filename
specified.

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


  Commit: c5e8bfb7cdc1859d7c34565a5f39231f0809fcd4
      
https://github.com/qemu/qemu/commit/c5e8bfb7cdc1859d7c34565a5f39231f0809fcd4
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block/blkdebug.c

  Log Message:
  -----------
  blkdebug: Enable reopen

Just reopening the children (as block.c does now) is enough.

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


  Commit: 768ee459f5d1c1bbff432e3a3737543d4132461b
      
https://github.com/qemu/qemu/commit/768ee459f5d1c1bbff432e3a3737543d4132461b
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

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

  Log Message:
  -----------
  qemu-iotests: Try setting cache mode for children

This is a basic test for specifying cache modes for child nodes on the
command line. It doesn't take much time and works without O_DIRECT
support.

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


  Commit: 8f7acbe6ea30de29e11f595242de89845f771ea1
      
https://github.com/qemu/qemu/commit/8f7acbe6ea30de29e11f595242de89845f771ea1
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

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

  Log Message:
  -----------
  qemu-iotests: Test cache mode option inheritance

This is doing a more complete test on setting cache modes both while
opening an image (i.e. in a -drive command line) and in reopen
situations. It checks that reopen can specify options for child nodes
and that cache modes are correctly inherited from parent nodes where
they are not specified.

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


  Commit: 0a8111e0fbeccdf94ee011bc3b3013a45166a9a8
      
https://github.com/qemu/qemu/commit/0a8111e0fbeccdf94ee011bc3b3013a45166a9a8
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

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

  Log Message:
  -----------
  qemu-iotests: Test reopen with node-name/driver options

'node-name' and 'driver' should not be changed during a reopen
operation. It is, however, valid to specify them with the same value as
they already had.

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


  Commit: bd5072d75622c3a702741064df87ea8911bae1a4
      
https://github.com/qemu/qemu/commit/bd5072d75622c3a702741064df87ea8911bae1a4
  Author: Max Reitz <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M util/qemu-progress.c

  Log Message:
  -----------
  progress: Allow regressing progress

Progress may regress; this should be displayed correctly by
qemu_progress_print().

While touching that area of code, drop the redundant parentheses in the
same condition.

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: 8b13976d3fabee2f2900a9fb51c85b27ba4516b9
      
https://github.com/qemu/qemu/commit/8b13976d3fabee2f2900a9fb51c85b27ba4516b9
  Author: Max Reitz <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block.c
    M block/qcow2-cluster.c
    M block/qcow2.c
    M block/qcow2.h
    M include/block/block.h
    M include/block/block_int.h
    M qemu-img.c

  Log Message:
  -----------
  block: Add opaque value to the amend CB

Add an opaque value which is to be passed to the bdrv_amend_options()
status callback.

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


  Commit: 29d72431ef7a68977a809727988285654887263f
      
https://github.com/qemu/qemu/commit/29d72431ef7a68977a809727988285654887263f
  Author: Max Reitz <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block/qcow2.c
    M tests/qemu-iotests/061.out

  Log Message:
  -----------
  qcow2: Use error_report() in qcow2_amend_options()

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


  Commit: 164e0f89cc825bf2a83b20451643db333d2891a7
      
https://github.com/qemu/qemu/commit/164e0f89cc825bf2a83b20451643db333d2891a7
  Author: Max Reitz <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Use abort() instead of assert(false)

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


  Commit: 1038bbb803b1630a5d9b91d185b5957a25d4710d
      
https://github.com/qemu/qemu/commit/1038bbb803b1630a5d9b91d185b5957a25d4710d
  Author: Max Reitz <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Split upgrade/downgrade paths for amend

If the image version should be upgraded, that is the first we should do;
if it should be downgraded, that is the last we should do. So split the
version change block into an upgrade part at the start and a downgrade
part at the end.

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


  Commit: c293a8092743aa0e4982067465d6eea6854d6d0c
      
https://github.com/qemu/qemu/commit/c293a8092743aa0e4982067465d6eea6854d6d0c
  Author: Max Reitz <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Use intermediate helper CB for amend

If there is more than one time-consuming operation to be performed for
qcow2_amend_options(), we need an intermediate CB which coordinates the
progress of the individual operations and passes the result to the
original status callback.

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: 791c9a004efbcff57c72dc83d19eb2bab0889d45
      
https://github.com/qemu/qemu/commit/791c9a004efbcff57c72dc83d19eb2bab0889d45
  Author: Max Reitz <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

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

  Log Message:
  -----------
  qcow2: Add function for refcount order amendment

Add a function qcow2_change_refcount_order() which allows changing the
refcount order of a qcow2 image.

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


  Commit: 61ce55fc02c57b5ec61e4b3a75dfab7ef6a92bd8
      
https://github.com/qemu/qemu/commit/61ce55fc02c57b5ec61e4b3a75dfab7ef6a92bd8
  Author: Max Reitz <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Invoke refcount order amendment function

Make use of qcow2_change_refcount_order() to support changing the
refcount order with qemu-img amend.

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


  Commit: 03bb78ed250874f76e0854aa4d5d95af1e12613e
      
https://github.com/qemu/qemu/commit/03bb78ed250874f76e0854aa4d5d95af1e12613e
  Author: Max Reitz <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block/qcow2-refcount.c

  Log Message:
  -----------
  qcow2: Point to amend function in check

If a reference count is not representable with the current refcount
order, the image check should point to qemu-img amend for increasing the
refcount order. However, qemu-img amend needs write access to the image
which cannot be provided if the image is marked corrupt; and the image
check will not mark the image consistent unless everything actually is
consistent.

Therefore, if an image is marked corrupt and the image check encounters
a reference count overflow, it cannot be fixed by using qemu-img amend
to increase the refcount order. Instead, one has to use qemu-img convert
to create a completely new copy of the image in this case.

Alternatively, we may want to give the user a way of manually removing
the corrupt flag, maybe through qemu-img amend, but this is not part of
this patch.

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: e9dbdc5e46054c4660b4c4f705ce8ff6aeb4959b
      
https://github.com/qemu/qemu/commit/e9dbdc5e46054c4660b4c4f705ce8ff6aeb4959b
  Author: Max Reitz <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

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

  Log Message:
  -----------
  iotests: Extend test 112 for qemu-img amend

Add tests for conversion between different refcount widths.

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


  Commit: b1fc8f934ba3fcdc8381b89413ad4df2e90d5312
      
https://github.com/qemu/qemu/commit/b1fc8f934ba3fcdc8381b89413ad4df2e90d5312
  Author: Denis V. Lunev <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: insert assert into qcow2_get_specific_info()

s->qcow_version is always set to 2 or 3. Let's assert if this is wrong.

Signed-off-by: Denis V. Lunev <address@hidden>
CC: Roman Kagan <address@hidden>
CC: Max Reitz <address@hidden>
CC: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: d657c0c289e944fc22289f5c318f48da87d79dcb
      
https://github.com/qemu/qemu/commit/d657c0c289e944fc22289f5c318f48da87d79dcb
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block/raw-posix.c

  Log Message:
  -----------
  raw-posix: Make aio=native option binding

Traditionally, aio=native was treated as an advice that could simply be
ignored if an error occurs while initialising Linux AIO or the feature
wasn't compiled in. This behaviour was deprecated in commit 96518254
(qemu 2.3; error during init) and commit 1501ecc1 (qemu 2.5; not
compiled in).

This patch changes raw-posix to error out in these cases instead of
printing a deprecation warning.

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


  Commit: bbe1ef2686ff66f76427b9c1cb42f4b8a4b82556
      
https://github.com/qemu/qemu/commit/bbe1ef2686ff66f76427b9c1cb42f4b8a4b82556
  Author: Fam Zheng <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M include/block/block.h

  Log Message:
  -----------
  block: Remove prototype of bdrv_swap from header

The function has gone.

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


  Commit: 8382ba615376dc1b7dc6e08525765f6d534e780d
      
https://github.com/qemu/qemu/commit/8382ba615376dc1b7dc6e08525765f6d534e780d
  Author: Fam Zheng <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M tests/qemu-iotests/094

  Log Message:
  -----------
  iotests: Update comments for bdrv_swap() in 094

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


  Commit: 27a7649a48f9019fa5bd2998d8e342791397bdda
      
https://github.com/qemu/qemu/commit/27a7649a48f9019fa5bd2998d8e342791397bdda
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block/snapshot.c

  Log Message:
  -----------
  block: use drained section around bdrv_snapshot_delete

Do not use bdrv_drain, since by itself it does not guarantee
anything.

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


  Commit: ba889444957aaeb073a3a95f5cb2794aa1b222f5
      
https://github.com/qemu/qemu/commit/ba889444957aaeb073a3a95f5cb2794aa1b222f5
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: fix bdrv_ioctl called from coroutine

When called from a coroutine, bdrv_ioctl must be asynchronous just like
e.g. bdrv_flush.  The code was incorrectly making it synchronous, fix
it.

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


  Commit: 8a7607c2e201f22aa73df03661c23c7d1fbd7540
      
https://github.com/qemu/qemu/commit/8a7607c2e201f22aa73df03661c23c7d1fbd7540
  Author: Bo Tu <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M tests/qemu-iotests/common.config

  Log Message:
  -----------
  qemu-iotests: refine common.config

Replacing awk with sed, then it's easier to read.
Replacing "[ ! -z "$default_alias_machine" ]" with
"[[ $default_alias_machine ]]", then it's slightly shorter.

Reviewed-by: Max Reitz <address@hidden>
Suggested-By: Sascha Silbe <address@hidden>
Reviewed-by: Sascha Silbe <address@hidden>
Reviewed-by: Eric Blake   <address@hidden>
Signed-off-by: Bo Tu <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 289f3ebae85f28082960317f2a4271bc3c03df10
      
https://github.com/qemu/qemu/commit/289f3ebae85f28082960317f2a4271bc3c03df10
  Author: Bo Tu <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

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

  Log Message:
  -----------
  qemu-iotests: s390x: fix test 051

The tests for ide device should only be tested for the pc
platform.
Set device_id to "drive0", and replace every "-drive file..."
by "-drive file=...,if=none,id=$device_id", then x86 and s390x
can get the common output in the test of "Snapshot mode".
Warning message expected for s390x when drive without device.
A x86 platform specific output file is also needed.

Reviewed-by: Sascha Silbe <address@hidden>
Signed-off-by: Bo Tu <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: a41aa71c15fc8e8289acebd3330257bee0b8e11c
      
https://github.com/qemu/qemu/commit/a41aa71c15fc8e8289acebd3330257bee0b8e11c
  Author: Bo Tu <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M tests/qemu-iotests/068

  Log Message:
  -----------
  qemu-iotests: s390x: fix test 068

Now, s390-virtio-ccw is default machine and s390-ccw.img is default boot
loader. If the s390-virtio-ccw machine finds no device to load from and
errors out, then emits a panic and exits the vm. This breaks test cases
068 for s390x.
Adding the parameter of "-no-shutdown" for s390-ccw-virtio will pause VM
before shutdown.

Acked-by: Max Reitz <address@hidden>
Reviewed-by: Sascha Silbe <address@hidden>
Signed-off-by: Bo Tu <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 548e1ff37982424f5c605c67471b691ab5c8d1b1
      
https://github.com/qemu/qemu/commit/548e1ff37982424f5c605c67471b691ab5c8d1b1
  Author: John Snow <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block/qapi.c

  Log Message:
  -----------
  block/qapi: do not redundantly print "actual path"

If it happens to match the backing path, that was the actual path.

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


  Commit: 12dcb1c0183bba4499d9c8bd37fa7112549cafd7
      
https://github.com/qemu/qemu/commit/12dcb1c0183bba4499d9c8bd37fa7112549cafd7
  Author: John Snow <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block/qapi.c
    M tests/qemu-iotests/043.out

  Log Message:
  -----------
  block/qapi: always report full_backing_filename

Always report full_backing_filename, even if it's the same as
backing_filename. In the next patch, full_backing_filename may be
omitted if it cannot be generated instead of allowing e.g. drive_query
to abort if it runs into this scenario.

The presence or absence of the "full" field becomes useful information.

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


  Commit: 5c9d9ca59735d245599884cf1db744c2b403367c
      
https://github.com/qemu/qemu/commit/5c9d9ca59735d245599884cf1db744c2b403367c
  Author: John Snow <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block/qapi.c

  Log Message:
  -----------
  block/qapi: explicitly warn if !has_full_backing_filename

Disambiguate "Backing filename and full backing filename are equivalent"
from "full backing filename could not be determined."

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


  Commit: 92d617abc53180cbfa88482382e8f0c13853cc1d
      
https://github.com/qemu/qemu/commit/92d617abc53180cbfa88482382e8f0c13853cc1d
  Author: John Snow <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M qemu-img.c

  Log Message:
  -----------
  qemu-img: abort when full_backing_filename not present

...But only if we have the backing_filename. It means something Scary
happened and we can't really be quite exactly sure if we can trust the
backing_filename.

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


  Commit: a5002d53029df4d7ebaf87c821b3dc07b65e5e52
      
https://github.com/qemu/qemu/commit/a5002d53029df4d7ebaf87c821b3dc07b65e5e52
  Author: John Snow <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block/qapi.c
    M tests/qemu-iotests/110.out

  Log Message:
  -----------
  block/qapi: allow best-effort query

For more complex BDS trees that can be created under normal circumstances,
we lose the ability to issue query commands because of our inability to
re-construct the absolute filename.

Instead, omit this field when it is a problem and present as much information
as we can.

This will change the expected output in iotest 110, where we will now see a
json filename and the lack of an absolute filename instead of an error.

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


  Commit: 9d4a6cf0ea471fb5aeaba9360fec863ef8a0ab44
      
https://github.com/qemu/qemu/commit/9d4a6cf0ea471fb5aeaba9360fec863ef8a0ab44
  Author: Kevin Wolf <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block/qapi.c
    M qemu-img.c
    M tests/qemu-iotests/043.out
    M tests/qemu-iotests/051
    M tests/qemu-iotests/051.out
    A tests/qemu-iotests/051.pc.out
    M tests/qemu-iotests/068
    M tests/qemu-iotests/110.out
    M tests/qemu-iotests/common.config

  Log Message:
  -----------
  Merge remote-tracking branch 'mreitz/tags/pull-block-for-kevin-2015-12-18' 
into queue-block

block-next patches from before the 2.5.0 release.

# gpg: Signature made Fri Dec 18 14:38:44 2015 CET using RSA key ID E838ACAD
# gpg: Good signature from "Max Reitz <address@hidden>"

* mreitz/tags/pull-block-for-kevin-2015-12-18:
  block/qapi: allow best-effort query
  qemu-img: abort when full_backing_filename not present
  block/qapi: explicitly warn if !has_full_backing_filename
  block/qapi: always report full_backing_filename
  block/qapi: do not redundantly print "actual path"
  qemu-iotests: s390x: fix test 068
  qemu-iotests: s390x: fix test 051
  qemu-iotests: refine common.config

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


  Commit: de532ff1df75cc80f0fb30885524e54b014d4983
      
https://github.com/qemu/qemu/commit/de532ff1df75cc80f0fb30885524e54b014d4983
  Author: Peter Maydell <address@hidden>
  Date:   2015-12-18 (Fri, 18 Dec 2015)

  Changed paths:
    M block.c
    M block/blkdebug.c
    M block/blkverify.c
    M block/io.c
    M block/mirror.c
    M block/nbd.c
    M block/qapi.c
    M block/qcow2-cluster.c
    M block/qcow2-refcount.c
    M block/qcow2.c
    M block/qcow2.h
    M block/quorum.c
    M block/raw-posix.c
    M block/snapshot.c
    M blockdev.c
    M include/block/block.h
    M include/block/block_int.h
    M qemu-img.c
    M tests/hd-geo-test.c
    M tests/qemu-iotests/043.out
    M tests/qemu-iotests/051
    M tests/qemu-iotests/051.out
    A tests/qemu-iotests/051.pc.out
    M tests/qemu-iotests/061.out
    M tests/qemu-iotests/068
    M tests/qemu-iotests/094
    M tests/qemu-iotests/110.out
    M tests/qemu-iotests/112
    M tests/qemu-iotests/112.out
    M tests/qemu-iotests/124
    A tests/qemu-iotests/133
    A tests/qemu-iotests/133.out
    A tests/qemu-iotests/142
    A tests/qemu-iotests/142.out
    M tests/qemu-iotests/common.config
    M tests/qemu-iotests/group
    M tests/qemu-iotests/iotests.py
    M util/qemu-progress.c

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

Block layer patches

# gpg: Signature made Fri 18 Dec 2015 13:41:03 GMT using RSA key ID C88F2FD6
# gpg: Good signature from "Kevin Wolf <address@hidden>"

* remotes/kevin/tags/for-upstream: (48 commits)
  block/qapi: allow best-effort query
  qemu-img: abort when full_backing_filename not present
  block/qapi: explicitly warn if !has_full_backing_filename
  block/qapi: always report full_backing_filename
  block/qapi: do not redundantly print "actual path"
  qemu-iotests: s390x: fix test 068
  qemu-iotests: s390x: fix test 051
  qemu-iotests: refine common.config
  block: fix bdrv_ioctl called from coroutine
  block: use drained section around bdrv_snapshot_delete
  iotests: Update comments for bdrv_swap() in 094
  block: Remove prototype of bdrv_swap from header
  raw-posix: Make aio=native option binding
  qcow2: insert assert into qcow2_get_specific_info()
  iotests: Extend test 112 for qemu-img amend
  qcow2: Point to amend function in check
  qcow2: Invoke refcount order amendment function
  qcow2: Add function for refcount order amendment
  qcow2: Use intermediate helper CB for amend
  qcow2: Split upgrade/downgrade paths for amend
  ...

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


Compare: https://github.com/qemu/qemu/compare/b06f904f2e37...de532ff1df75

reply via email to

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