qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] f87e08: block: implement the bdrv_reopen_prep


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] f87e08: block: implement the bdrv_reopen_prepare helper fo...
Date: Mon, 12 Mar 2018 04:47:31 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: f87e08f9e24b43d123bbbafd3348bf0f3d67c31a
      
https://github.com/qemu/qemu/commit/f87e08f9e24b43d123bbbafd3348bf0f3d67c31a
  Author: Daniel P. Berrange <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block/crypto.c

  Log Message:
  -----------
  block: implement the bdrv_reopen_prepare helper for LUKS driver

If the bdrv_reopen_prepare helper isn't provided, the qemu-img commit
command fails to re-open the base layer after committing changes into
it. Provide a no-op implementation for the LUKS driver, since there
is not any custom work that needs doing to re-open it.

Signed-off-by: Daniel P. Berrange <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 8b220eb7c8a1b1d5bc2522f394e16456bf20c91f
      
https://github.com/qemu/qemu/commit/8b220eb7c8a1b1d5bc2522f394e16456bf20c91f
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

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

  Log Message:
  -----------
  qcow2: introduce qcow2_write_caches and qcow2_flush_caches

They will be used to avoid recursively taking s->lock during
bdrv_open or bdrv_check.

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


  Commit: 1a0c2bfb039c371fe6628d58335705cc7011cecb
      
https://github.com/qemu/qemu/commit/1a0c2bfb039c371fe6628d58335705cc7011cecb
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block/qcow2-bitmap.c

  Log Message:
  -----------
  qcow2: fix flushing after dirty bitmap metadata writes

update_header_sync itself does not need to flush the caches to disk.
The only paths that allocate clusters are:

- bitmap_list_store with in_place=false, called by update_ext_header_and_dir

- store_bitmap_data, called by store_bitmap

- store_bitmap, called by qcow2_store_persistent_dirty_bitmaps and
  followed by update_ext_header_and_dir

So in the end the central place where we need to flush the caches
is update_ext_header_and_dir.

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


  Commit: 1fafcd93681c5370ecf899e096a58642fa68a292
      
https://github.com/qemu/qemu/commit/1fafcd93681c5370ecf899e096a58642fa68a292
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: make qcow2_do_open a coroutine_fn

It is called from qcow2_invalidate_cache in coroutine context (incoming
migration runs in a coroutine), so it's cleaner if metadata is always
loaded from a coroutine.

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


  Commit: 9fb4dfc570ce3b013830321b8b91ae2ea991d768
      
https://github.com/qemu/qemu/commit/9fb4dfc570ce3b013830321b8b91ae2ea991d768
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block/qed.c

  Log Message:
  -----------
  qed: make bdrv_qed_do_open a coroutine_fn

It is called from qed_invalidate_cache in coroutine context (incoming
migration runs in a coroutine), so it's cleaner if metadata is always
loaded from a coroutine.

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


  Commit: 2b148f392b2bfeba76d3e6d9607c3bd072350e8c
      
https://github.com/qemu/qemu/commit/2b148f392b2bfeba76d3e6d9607c3bd072350e8c
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block.c
    M block/iscsi.c
    M block/nfs.c
    M block/qcow2.c
    M block/qed.c
    M block/rbd.c
    M include/block/block_int.h

  Log Message:
  -----------
  block: convert bdrv_invalidate_cache callback to coroutine_fn

QED's bdrv_invalidate_cache implementation would like to reuse functions
that acquire/release the metadata locks.  Call it from coroutine context
to simplify the logic.

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


  Commit: 2fd6163884d74e74dd1ef54ab229d15c61d0b4cb
      
https://github.com/qemu/qemu/commit/2fd6163884d74e74dd1ef54ab229d15c61d0b4cb
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block.c
    M block/parallels.c
    M block/qcow2.c
    M block/qed-check.c
    M block/qed-table.c
    M block/qed.c
    M block/vdi.c
    M block/vhdx.c
    M block/vmdk.c
    M include/block/block_int.h

  Log Message:
  -----------
  block: convert bdrv_check callback to coroutine_fn

Suggested-by: Kevin Wolf <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 0cf0e5980bb95a914a40ba0eb8e69c3d75c513fb
      
https://github.com/qemu/qemu/commit/0cf0e5980bb95a914a40ba0eb8e69c3d75c513fb
  Author: Alberto Garcia <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

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

  Log Message:
  -----------
  qcow2: Generalize validate_table_offset() into qcow2_validate_table()

This function checks that the offset and size of a table are valid.

While the offset checks are fine, the size check is too generic, since
it only verifies that the total size in bytes fits in a 64-bit
integer. In practice all tables used in qcow2 have much smaller size
limits, so the size needs to be checked again for each table using its
actual limit.

This patch generalizes this function by allowing the caller to specify
the maximum size for that table. In addition to that it allows passing
an Error variable.

The function is also renamed and made public since we're going to use
it in other parts of the code.

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


  Commit: 314e8d3928aa82fa13673d47b5af7bdd9a6d82bf
      
https://github.com/qemu/qemu/commit/314e8d3928aa82fa13673d47b5af7bdd9a6d82bf
  Author: Alberto Garcia <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

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

  Log Message:
  -----------
  qcow2: Check L1 table offset in qcow2_snapshot_load_tmp()

This function checks that the size of a snapshot's L1 table is not too
large, but it doesn't validate the offset.

We now have a function to take care of this, so let's use it.

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


  Commit: c9a442e45094e693da45f0e3d03746d68e4460ec
      
https://github.com/qemu/qemu/commit/c9a442e45094e693da45f0e3d03746d68e4460ec
  Author: Alberto Garcia <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

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

  Log Message:
  -----------
  qcow2: Check L1 table parameters in qcow2_expand_zero_clusters()

This function iterates over all snapshots of a qcow2 file in order to
expand all zero clusters, but it does not validate the snapshots' L1
tables first.

We now have a function to take care of this, so let's use it.

We can also take the opportunity to replace the sector-based
bdrv_read() with bdrv_pread().

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


  Commit: c7a9d81d7061a7fb3b5b5726a6f139444e1ad5e6
      
https://github.com/qemu/qemu/commit/c7a9d81d7061a7fb3b5b5726a6f139444e1ad5e6
  Author: Alberto Garcia <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

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

  Log Message:
  -----------
  qcow2: Check snapshot L1 tables in qcow2_check_metadata_overlap()

The inactive-l2 overlap check iterates uses the L1 tables from all
snapshots, but it does not validate them first.

We now have a function to take care of this, so let's use it.

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


  Commit: a8475d7573c0598ba8f92f84534110218ee11e3d
      
https://github.com/qemu/qemu/commit/a8475d7573c0598ba8f92f84534110218ee11e3d
  Author: Alberto Garcia <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

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

  Log Message:
  -----------
  qcow2: Check snapshot L1 table in qcow2_snapshot_goto()

This function copies a snapshot's L1 table into the active one without
validating it first.

We now have a function to take care of this, so let's use it.

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


  Commit: db5794f1f17d1f8247c0ea8e6f0376a47b112466
      
https://github.com/qemu/qemu/commit/db5794f1f17d1f8247c0ea8e6f0376a47b112466
  Author: Alberto Garcia <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

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

  Log Message:
  -----------
  qcow2: Check snapshot L1 table in qcow2_snapshot_delete()

This function deletes a snapshot from disk, removing its entry from
the snapshot table, freeing its L1 table and decreasing the refcounts
of all clusters.

The L1 table offset and size are however not validated. If we use
invalid values in this function we'll probably corrupt the image even
more, so we should return an error instead.

We now have a function to take care of this, so let's use it.

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


  Commit: 0c2ada8136a993b1fae9cee2c26b357e9c56c016
      
https://github.com/qemu/qemu/commit/0c2ada8136a993b1fae9cee2c26b357e9c56c016
  Author: Alberto Garcia <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

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

  Log Message:
  -----------
  qcow2: Make qemu-img check detect corrupted L1 tables in snapshots

'qemu-img check' cannot detect if a snapshot's L1 table is corrupted.
This patch checks the table's offset and size and reports corruption
if the values are not valid.

This patch doesn't add code to fix that corruption yet, only to detect
and report it.

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


  Commit: 5361468974c72cf0b22bd0789e55a51fd9d75d50
      
https://github.com/qemu/qemu/commit/5361468974c72cf0b22bd0789e55a51fd9d75d50
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M qapi/block-core.json

  Log Message:
  -----------
  block/qapi: Introduce BlockdevCreateOptions

This creates a BlockdevCreateOptions union type that will contain all of
the options for image creation. We'll start out with an empty struct
type BlockdevCreateNotSupported for all drivers.

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


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

  Changed paths:
    M qapi/block-core.json

  Log Message:
  -----------
  block/qapi: Add qcow2 create options to schema

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


  Commit: 8ca5bfdc46031a10475fce428446d3e3c1b89e5b
      
https://github.com/qemu/qemu/commit/8ca5bfdc46031a10475fce428446d3e3c1b89e5b
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Rename qcow2_co_create2() to qcow2_co_create()

The functions originally known as qcow2_create() and qcow2_create2()
are now called qcow2_co_create_opts() and qcow2_co_create(), which
matches the names of the BlockDriver callbacks that they will implement
at the end of this patch series.

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


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

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Let qcow2_create() handle protocol layer

Currently, qcow2_create() only parses the QemuOpts and then calls
qcow2_co_create() for the actual image creation, which includes both the
creation of the actual file on the file system and writing a valid empty
qcow2 image into that file.

The plan is that qcow2_co_create() becomes the function that implements
the functionality for a future 'blockdev-create' QMP command, which only
creates the qcow2 layer on an already opened file node.

This is a first step towards that goal: Let's move out anything that
deals with the protocol layer from qcow2_co_create() into
qcow2_create().  This means that qcow2_co_create() doesn't need a file
name any more.

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


  Commit: 29ca9e450dd0fd5961f5f3c12f8e983707ec71ed
      
https://github.com/qemu/qemu/commit/29ca9e450dd0fd5961f5f3c12f8e983707ec71ed
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Pass BlockdevCreateOptions to qcow2_co_create()

All of the simple options are now passed to qcow2_co_create() in a
BlockdevCreateOptions object. Still missing: node-name and the
encryption options.

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


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

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

  Log Message:
  -----------
  qcow2: Use BlockdevRef in qcow2_co_create()

Instead of passing a separate BlockDriverState* into qcow2_co_create(),
make use of the BlockdevRef that is included in BlockdevCreateOptions.

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


  Commit: 60900b7bd930e0b9acad118ead4fabf4610066a8
      
https://github.com/qemu/qemu/commit/60900b7bd930e0b9acad118ead4fabf4610066a8
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Use QCryptoBlockCreateOptions in qcow2_co_create()

Instead of passing the encryption format name and the QemuOpts down, use
the QCryptoBlockCreateOptions contained in BlockdevCreateOptions.

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


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

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Handle full/falloc preallocation in qcow2_co_create()

Once qcow2_co_create() can be called directly on an already existing
node, we must provide the 'full' and 'falloc' preallocation modes
outside of creating the image on the protocol layer. Fortunately, we
have preallocated truncate now which can provide this functionality.

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


  Commit: 72215395b9e44f13be48e8576b90719738766edf
      
https://github.com/qemu/qemu/commit/72215395b9e44f13be48e8576b90719738766edf
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M include/qemu/option.h
    M util/qemu-option.c

  Log Message:
  -----------
  util: Add qemu_opts_to_qdict_filtered()

This allows, given a QemuOpts for a QemuOptsList that was merged from
multiple QemuOptsList, to only consider those options that exist in one
specific list. Block drivers need this to separate format-layer create
options from protocol-level options.

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


  Commit: 575ef8bff62834f38aef353f96084850a4348078
      
https://github.com/qemu/qemu/commit/575ef8bff62834f38aef353f96084850a4348078
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M tests/test-qemu-opts.c

  Log Message:
  -----------
  test-qemu-opts: Test qemu_opts_append()

Basic test for merging two QemuOptsLists.

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


  Commit: 37974a97d4d29229255b39ddd16c31743e1880ed
      
https://github.com/qemu/qemu/commit/37974a97d4d29229255b39ddd16c31743e1880ed
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M tests/test-qemu-opts.c

  Log Message:
  -----------
  test-qemu-opts: Test qemu_opts_to_qdict_filtered()

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


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

  Changed paths:
    M include/qapi/qmp/qdict.h
    M qobject/qdict.c
    M tests/check-qdict.c

  Log Message:
  -----------
  qdict: Introduce qdict_rename_keys()

A few block drivers will need to rename .bdrv_create options for their
QAPIfication, so let's have a helper function for that.

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


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

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

  Log Message:
  -----------
  qcow2: Use visitor for options in qcow2_create()

Instead of manually creating the BlockdevCreateOptions object, use a
visitor to parse the given options into the QAPI object.

This involves translation from the old command line syntax to the syntax
mandated by the QAPI schema. Option names are still checked against
qcow2_create_opts, so only the old option names are allowed on the
command line, even if they are translated in qcow2_create().

In contrast, new option values are optionally recognised besides the old
values: 'compat' accepts 'v2'/'v3' as an alias for '0.10'/'1.1', and
'encrypt.format' accepts 'qcow' as an alias for 'aes' now.

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


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

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

  Log Message:
  -----------
  block: Make bdrv_is_whitelisted() public

We'll use a separate source file for image creation, and we need to
check there whether the requested driver is whitelisted.

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


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

  Changed paths:
    M block/Makefile.objs
    A block/create.c
    M block/qcow2.c
    M include/block/block_int.h
    M qapi/block-core.json

  Log Message:
  -----------
  block: x-blockdev-create QMP command

This adds a synchronous x-blockdev-create QMP command that can create
qcow2 images on a given node name.

We don't want to block while creating an image, so this is not the final
interface in all aspects, but BlockdevCreateOptionsQcow2 and
.bdrv_co_create() are what they actually might look like in the end. In
any case, this should be good enough to test whether we interpret
BlockdevCreateOptions as we should.

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


  Commit: 927f11e1316c1cf96ab70d271f8b29d65dc75f7c
      
https://github.com/qemu/qemu/commit/927f11e1316c1cf96ab70d271f8b29d65dc75f7c
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block/file-posix.c
    M qapi/block-core.json

  Log Message:
  -----------
  file-posix: Support .bdrv_co_create

This adds the .bdrv_co_create driver callback to file, which enables
image creation over QMP.

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


  Commit: 3766ef579ce0bf6c8fff632a7f793833f35d2658
      
https://github.com/qemu/qemu/commit/3766ef579ce0bf6c8fff632a7f793833f35d2658
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block/file-win32.c

  Log Message:
  -----------
  file-win32: Support .bdrv_co_create

This adds the .bdrv_co_create driver callback to file-win32, which
enables image creation over QMP.

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


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

  Changed paths:
    M block/gluster.c
    M qapi/block-core.json

  Log Message:
  -----------
  gluster: Support .bdrv_co_create

This adds the .bdrv_co_create driver callback to gluster, which enables
image creation over QMP.

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


  Commit: 71c87815f9e0386b6f3e22942adc956fd603c82f
      
https://github.com/qemu/qemu/commit/71c87815f9e0386b6f3e22942adc956fd603c82f
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block/rbd.c

  Log Message:
  -----------
  rbd: Fix use after free in qemu_rbd_set_keypairs() error path

If we want to include the invalid option name in the error message, we
can't free the string earlier than that.

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


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

  Changed paths:
    M block/rbd.c

  Log Message:
  -----------
  rbd: Factor out qemu_rbd_connect()

The code to establish an RBD connection is duplicated between open and
create. In order to be able to share the code, factor out the code from
qemu_rbd_open() as a first step.

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


  Commit: 4ff4504974d0b41cd7e2b1a8aa346072eb219541
      
https://github.com/qemu/qemu/commit/4ff4504974d0b41cd7e2b1a8aa346072eb219541
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block/rbd.c

  Log Message:
  -----------
  rbd: Remove non-schema options from runtime_opts

Instead of the QemuOpts in qemu_rbd_connect(), we want to use QAPI
objects. As a preparation, fetch those options directly from the QDict
that .bdrv_open() supports in the rbd driver and that are not in the
schema.

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


  Commit: 4bfb274165ba013bacd2a40fd28c7c2e04a831f3
      
https://github.com/qemu/qemu/commit/4bfb274165ba013bacd2a40fd28c7c2e04a831f3
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block/rbd.c

  Log Message:
  -----------
  rbd: Pass BlockdevOptionsRbd to qemu_rbd_connect()

With the conversion to a QAPI options object, the function is now
prepared to be used in a .bdrv_co_create implementation.

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


  Commit: 1bebea37b43223a45c39dcbc158f3cec6164fdbf
      
https://github.com/qemu/qemu/commit/1bebea37b43223a45c39dcbc158f3cec6164fdbf
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block/rbd.c
    M qapi/block-core.json

  Log Message:
  -----------
  rbd: Support .bdrv_co_create

This adds the .bdrv_co_create driver callback to rbd, which enables
image creation over QMP.

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


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

  Changed paths:
    M block/rbd.c

  Log Message:
  -----------
  rbd: Assign s->snap/image_name in qemu_rbd_open()

Now that the options are already available in qemu_rbd_open() and not
only parsed in qemu_rbd_connect(), we can assign s->snap and
s->image_name there instead of passing the fields by reference to
qemu_rbd_connect().

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


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

  Changed paths:
    M block/rbd.c

  Log Message:
  -----------
  rbd: Use qemu_rbd_connect() in qemu_rbd_do_create()

This is almost exactly the same code. The differences are that
qemu_rbd_connect() supports BlockdevOptionsRbd.server and that the cache
mode is set explicitly.

Supporting 'server' is a welcome new feature for image creation.
Caching is disabled by default, so leave it that way.

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


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

  Changed paths:
    M block/nfs.c

  Log Message:
  -----------
  nfs: Use QAPI options in nfs_client_open()

Using the QAPI visitor to turn all options into QAPI BlockdevOptionsNfs
simplifies the code a lot. It will also be useful for implementing the
QAPI based .bdrv_co_create callback.

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


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

  Changed paths:
    M block/nfs.c
    M qapi/block-core.json

  Log Message:
  -----------
  nfs: Support .bdrv_co_create

This adds the .bdrv_co_create driver callback to nfs, which enables
image creation over QMP.

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


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

  Changed paths:
    M block/sheepdog.c
    M qapi/block-core.json

  Log Message:
  -----------
  sheepdog: QAPIfy "redundancy" create option

The "redundancy" option for Sheepdog image creation is currently a
string that can encode one or two integers depending on its format,
which at the same time implicitly selects a mode.

This patch turns it into a QAPI union and converts the string into such
a QAPI object before interpreting the values.

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


  Commit: 63fd65a0a5acca28740fc7ed138278d040ca6c9c
      
https://github.com/qemu/qemu/commit/63fd65a0a5acca28740fc7ed138278d040ca6c9c
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block/sheepdog.c
    M qapi/block-core.json

  Log Message:
  -----------
  sheepdog: Support .bdrv_co_create

This adds the .bdrv_co_create driver callback to sheepdog, which enables
image creation over QMP.

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


  Commit: 16e4bdb1bff83c41b73ed9c915d6bfc31d3e7ac8
      
https://github.com/qemu/qemu/commit/16e4bdb1bff83c41b73ed9c915d6bfc31d3e7ac8
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block/ssh.c

  Log Message:
  -----------
  ssh: Use QAPI BlockdevOptionsSsh object

Create a BlockdevOptionsSsh object in connect_to_ssh() and take the
options from there. 'host_key_check' is still processed separately
because it's not in the schema yet.

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


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

  Changed paths:
    M block/ssh.c
    M qapi/block-core.json

  Log Message:
  -----------
  ssh: QAPIfy host-key-check option

This makes the host-key-check option available in blockdev-add.

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


  Commit: 375f0b9266d72cab238dc079ca319417f9a92983
      
https://github.com/qemu/qemu/commit/375f0b9266d72cab238dc079ca319417f9a92983
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block/ssh.c

  Log Message:
  -----------
  ssh: Pass BlockdevOptionsSsh to connect_to_ssh()

Move the parsing of the QDict options up to the callers, in preparation
for the .bdrv_co_create implementation that directly gets a QAPI type.

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


  Commit: 4906da7e4de3720995b644f9903879cfd5a51a40
      
https://github.com/qemu/qemu/commit/4906da7e4de3720995b644f9903879cfd5a51a40
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block/ssh.c
    M qapi/block-core.json

  Log Message:
  -----------
  ssh: Support .bdrv_co_create

This adds the .bdrv_co_create driver callback to ssh, which enables
image creation over QMP.

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


  Commit: 89b259eeaa0f4ad3fa89cbe500da9335536e20ee
      
https://github.com/qemu/qemu/commit/89b259eeaa0f4ad3fa89cbe500da9335536e20ee
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M block/file-posix.c

  Log Message:
  -----------
  file-posix: Fix no-op bdrv_truncate() with falloc preallocation

If bdrv_truncate() is called, but the requested size is the same as
before, don't call posix_fallocate(), which returns -EINVAL for length
zero and would therefore make bdrv_truncate() fail.

The problem can be triggered by creating a zero-sized raw image with
'falloc' preallocation mode.

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


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

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Fail bdrv_truncate() with negative size

Most callers have their own checks, but something like this should also
be checked centrally. As it happens, x-blockdev-create can pass negative
image sizes to format drivers (because there is no QAPI type that would
reject negative numbers) and triggers the check added by this patch.

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


  Commit: 39218a771ae2761c59e2e8ae8728b434eaaa794f
      
https://github.com/qemu/qemu/commit/39218a771ae2761c59e2e8ae8728b434eaaa794f
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

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

  Log Message:
  -----------
  qemu-iotests: Test qcow2 over file image creation with QMP

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


  Commit: 56ea7450aa4078e357b6ec715046ecc32a6b16b4
      
https://github.com/qemu/qemu/commit/56ea7450aa4078e357b6ec715046ecc32a6b16b4
  Author: Kevin Wolf <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

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

  Log Message:
  -----------
  qemu-iotests: Test ssh image creation over QMP

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


  Commit: fcca5dce203b8df0817bcca4c23e4c6846df5a56
      
https://github.com/qemu/qemu/commit/fcca5dce203b8df0817bcca4c23e4c6846df5a56
  Author: Fam Zheng <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

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

  Log Message:
  -----------
  iotests: Test creating overlay when guest running

Signed-off-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 990dc39cfa9b72fbe743a850db5542870caf7e05
      
https://github.com/qemu/qemu/commit/990dc39cfa9b72fbe743a850db5542870caf7e05
  Author: Eric Blake <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M tests/qemu-iotests/096
    M tests/qemu-iotests/124
    M tests/qemu-iotests/129
    M tests/qemu-iotests/132
    M tests/qemu-iotests/136
    M tests/qemu-iotests/139
    M tests/qemu-iotests/148
    M tests/qemu-iotests/152
    M tests/qemu-iotests/163
    M tests/qemu-iotests/205

  Log Message:
  -----------
  iotests: Mark all tests executable

The majority of our iotests have the executable bit set; fix the
few outliers for consistency.

Signed-off-by: Eric Blake <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 0bfed484a51e602ec77361c79c1caede396fb242
      
https://github.com/qemu/qemu/commit/0bfed484a51e602ec77361c79c1caede396fb242
  Author: Fam Zheng <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M tests/qemu-iotests/059

  Log Message:
  -----------
  iotests: Skip test for ENOMEM error

The AFL image is to exercise the code validating image size, which
doesn't work on 32 bit or when out of memory (there is a large
allocation before the interesting point). So check that and skip the
test, instead of faking the result.

Signed-off-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 39eaefcedb9af9131543e6b35386627780ac3f41
      
https://github.com/qemu/qemu/commit/39eaefcedb9af9131543e6b35386627780ac3f41
  Author: Alberto Garcia <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

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

  Log Message:
  -----------
  iotests: Tweak 030 in order to trigger a race condition with parallel jobs

This patch tweaks TestParallelOps in iotest 030 so it allocates data
in smaller regions (256KB/512KB instead of 512KB/1MB) and the
block-stream job in test_stream_commit() only needs to copy data that
is at the very end of the image.

This way when the block-stream job is awakened it will finish right
away without any chance of being stopped by block_job_sleep_ns(). This
triggers the bug that was fixed by 3d5d319e1221082974711af1d09d82f and
1a63a907507fbbcfaee3f622907ec24 and is therefore a more useful test
case for parallel block jobs.

After this patch the aforementiond bug can also be reproduced with the
test_stream_parallel() test case.

Since with this change the stream job in test_stream_commit() finishes
early, this patch introduces a similar test case where both jobs are
slowed down so they can actually run in parallel.

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


  Commit: 21794244d4e9c5f81132e4574e5bd10ef5066715
      
https://github.com/qemu/qemu/commit/21794244d4e9c5f81132e4574e5bd10ef5066715
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

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

  Log Message:
  -----------
  qemu-iotests: fix 203 migration completion race

There is a race between the test's 'query-migrate' QMP command after the
QMP 'STOP' event and completing the migration:

The test case invokes 'query-migrate' upon receiving 'STOP'.  At this
point the migration thread may still be in the process of completing.
Therefore 'query-migrate' can return 'status': 'active' for a brief
window of time instead of 'status': 'completed'.  This results in
qemu-iotests 203 hanging.

Solve the race by enabling the 'events' migration capability, which
causes QEMU to emit migration-specific QMP events that do not suffer
from this race condition.  Wait for the QMP 'MIGRATION' event with
'status': 'completed'.

Reported-by: Max Reitz <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


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

  Changed paths:
    M tests/qemu-iotests/030
    M tests/qemu-iotests/030.out
    M tests/qemu-iotests/059
    M tests/qemu-iotests/096
    M tests/qemu-iotests/124
    M tests/qemu-iotests/129
    M tests/qemu-iotests/132
    M tests/qemu-iotests/136
    M tests/qemu-iotests/139
    M tests/qemu-iotests/148
    M tests/qemu-iotests/152
    M tests/qemu-iotests/153
    M tests/qemu-iotests/153.out
    M tests/qemu-iotests/163
    M tests/qemu-iotests/203
    M tests/qemu-iotests/203.out
    M tests/qemu-iotests/205

  Log Message:
  -----------
  Merge remote-tracking branch 'mreitz/tags/pull-block-2018-03-09' into 
queue-block

Block patches

# gpg: Signature made Fri Mar  9 15:40:32 2018 CET
# gpg:                using RSA key F407DB0061D5CF40
# gpg: Good signature from "Max Reitz <address@hidden>"
# Primary key fingerprint: 91BE B60A 30DB 3E88 57D1  1829 F407 DB00 61D5 CF40

* mreitz/tags/pull-block-2018-03-09:
  qemu-iotests: fix 203 migration completion race
  iotests: Tweak 030 in order to trigger a race condition with parallel jobs
  iotests: Skip test for ENOMEM error
  iotests: Mark all tests executable
  iotests: Test creating overlay when guest running

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


  Commit: 12c06d6f967a63515399b9e1f6a40f5ce871a8b7
      
https://github.com/qemu/qemu/commit/12c06d6f967a63515399b9e1f6a40f5ce871a8b7
  Author: Peter Maydell <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M block.c
    M block/Makefile.objs
    A block/create.c
    M block/crypto.c
    M block/file-posix.c
    M block/file-win32.c
    M block/gluster.c
    M block/iscsi.c
    M block/nfs.c
    M block/parallels.c
    M block/qcow2-bitmap.c
    M block/qcow2-cluster.c
    M block/qcow2-refcount.c
    M block/qcow2-snapshot.c
    M block/qcow2.c
    M block/qcow2.h
    M block/qed-check.c
    M block/qed-table.c
    M block/qed.c
    M block/rbd.c
    M block/sheepdog.c
    M block/ssh.c
    M block/vdi.c
    M block/vhdx.c
    M block/vmdk.c
    M include/block/block.h
    M include/block/block_int.h
    M include/qapi/qmp/qdict.h
    M include/qemu/option.h
    M qapi/block-core.json
    M qobject/qdict.c
    M tests/check-qdict.c
    M tests/qemu-iotests/030
    M tests/qemu-iotests/030.out
    M tests/qemu-iotests/049.out
    M tests/qemu-iotests/059
    M tests/qemu-iotests/080
    M tests/qemu-iotests/080.out
    M tests/qemu-iotests/096
    M tests/qemu-iotests/112.out
    M tests/qemu-iotests/124
    M tests/qemu-iotests/129
    M tests/qemu-iotests/132
    M tests/qemu-iotests/136
    M tests/qemu-iotests/139
    M tests/qemu-iotests/148
    M tests/qemu-iotests/152
    M tests/qemu-iotests/153
    M tests/qemu-iotests/153.out
    M tests/qemu-iotests/163
    M tests/qemu-iotests/203
    M tests/qemu-iotests/203.out
    M tests/qemu-iotests/205
    A tests/qemu-iotests/206
    A tests/qemu-iotests/206.out
    A tests/qemu-iotests/207
    A tests/qemu-iotests/207.out
    M tests/qemu-iotests/group
    M tests/test-qemu-opts.c
    M util/qemu-option.c

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

Block layer patches

# gpg: Signature made Fri 09 Mar 2018 15:09:20 GMT
# gpg:                using RSA key 7F09B272C88F2FD6
# gpg: Good signature from "Kevin Wolf <address@hidden>"
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6

* remotes/kevin/tags/for-upstream: (56 commits)
  qemu-iotests: fix 203 migration completion race
  iotests: Tweak 030 in order to trigger a race condition with parallel jobs
  iotests: Skip test for ENOMEM error
  iotests: Mark all tests executable
  iotests: Test creating overlay when guest running
  qemu-iotests: Test ssh image creation over QMP
  qemu-iotests: Test qcow2 over file image creation with QMP
  block: Fail bdrv_truncate() with negative size
  file-posix: Fix no-op bdrv_truncate() with falloc preallocation
  ssh: Support .bdrv_co_create
  ssh: Pass BlockdevOptionsSsh to connect_to_ssh()
  ssh: QAPIfy host-key-check option
  ssh: Use QAPI BlockdevOptionsSsh object
  sheepdog: Support .bdrv_co_create
  sheepdog: QAPIfy "redundancy" create option
  nfs: Support .bdrv_co_create
  nfs: Use QAPI options in nfs_client_open()
  rbd: Use qemu_rbd_connect() in qemu_rbd_do_create()
  rbd: Assign s->snap/image_name in qemu_rbd_open()
  rbd: Support .bdrv_co_create
  ...

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


Compare: https://github.com/qemu/qemu/compare/20f59d120053...12c06d6f967a

reply via email to

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