qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 67c75f: ide: ide-cd without drive property fo


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 67c75f: ide: ide-cd without drive property for empty drive
Date: Tue, 06 Sep 2016 11:00:07 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 67c75f3dff7fa7776781d93250e1d52f1b009a74
      
https://github.com/qemu/qemu/commit/67c75f3dff7fa7776781d93250e1d52f1b009a74
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M hw/ide/qdev.c

  Log Message:
  -----------
  ide: ide-cd without drive property for empty drive

This allows the creation of an empty ide-cd device without manually
creating a BlockBackend.

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


  Commit: 9ef6e505f00aaabfccd8f8b0f0685589a74e76ea
      
https://github.com/qemu/qemu/commit/9ef6e505f00aaabfccd8f8b0f0685589a74e76ea
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

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

  Log Message:
  -----------
  scsi: scsi-cd without drive property for empty drive

This allows the creation of an empty scsi-cd device without manually
creating a BlockBackend.

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


  Commit: b6c1bae5df8abbed73c4c0bd92e9963df8829c74
      
https://github.com/qemu/qemu/commit/b6c1bae5df8abbed73c4c0bd92e9963df8829c74
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M block/block-backend.c
    M blockdev.c
    M include/sysemu/block-backend.h
    M qapi/block-core.json
    M qmp-commands.hx
    M tests/qemu-iotests/030

  Log Message:
  -----------
  block: Accept node-name for block-stream

In order to remove the necessity to use BlockBackend names in the
external API, we want to allow node-names everywhere. This converts
block-stream to accept a node-name without lifting the restriction that
we're operating at a root node.

In case of an invalid device name, the command returns the GenericError
error class now instead of DeviceNotFound, because this is what
qmp_get_root_bs() returns.

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


  Commit: 1d13b167fd40c0ac8dfd779f150d8643afd508dc
      
https://github.com/qemu/qemu/commit/1d13b167fd40c0ac8dfd779f150d8643afd508dc
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M blockdev.c
    M qapi/block-core.json
    M qmp-commands.hx

  Log Message:
  -----------
  block: Accept node-name for block-commit

In order to remove the necessity to use BlockBackend names in the
external API, we want to allow node-names everywhere. This converts
block-commit to accept a node-name without lifting the restriction that
we're operating at a root node.

As libvirt makes use of the DeviceNotFound error class, we must add
explicit code to retain this behaviour because qmp_get_root_bs() only
returns GenericErrors.

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: cef34eebf3d0f252a3b3e9a2a459b6c3ecc56f68
      
https://github.com/qemu/qemu/commit/cef34eebf3d0f252a3b3e9a2a459b6c3ecc56f68
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M blockdev.c
    M qapi/block-core.json
    M qmp-commands.hx

  Log Message:
  -----------
  block: Accept node-name for blockdev-backup

In order to remove the necessity to use BlockBackend names in the
external API, we want to allow node-names everywhere. This converts
blockdev-backup and the corresponding transaction action to accept a
node-name without lifting the restriction that we're operating at a root
node.

In case of an invalid device name, the command returns the GenericError
error class now instead of DeviceNotFound, because this is what
qmp_get_root_bs() returns.

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


  Commit: 07eec652722f3d12b07c5b28d0671ddfc22fe6a5
      
https://github.com/qemu/qemu/commit/07eec652722f3d12b07c5b28d0671ddfc22fe6a5
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M blockdev.c
    M qapi/block-core.json
    M qmp-commands.hx

  Log Message:
  -----------
  block: Accept node-name for blockdev-mirror

In order to remove the necessity to use BlockBackend names in the
external API, we want to allow node-names everywhere. This converts
blockdev-mirror to accept a node-name without lifting the restriction
that we're operating at a root node.

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


  Commit: 2dfb4c033f2f8fbad252bed1ba3e0fed112cbb7c
      
https://github.com/qemu/qemu/commit/2dfb4c033f2f8fbad252bed1ba3e0fed112cbb7c
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M blockdev.c
    M qapi/block.json
    M qmp-commands.hx
    M tests/qemu-iotests/057

  Log Message:
  -----------
  block: Accept node-name for blockdev-snapshot-delete-internal-sync

In order to remove the necessity to use BlockBackend names in the
external API, we want to allow node-names everywhere. This converts
blockdev-snapshot-delete-internal-sync to accept a node-name without
lifting the restriction that we're operating at a root node.

In case of an invalid device name, the command returns the GenericError
error class now instead of DeviceNotFound, because this is what
qmp_get_root_bs() returns.

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


  Commit: 75dfd402a734e8080fa77a1bcf60ecc46e0e6158
      
https://github.com/qemu/qemu/commit/75dfd402a734e8080fa77a1bcf60ecc46e0e6158
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M blockdev.c
    M qapi/block.json
    M qmp-commands.hx
    M tests/qemu-iotests/057

  Log Message:
  -----------
  block: Accept node-name for blockdev-snapshot-internal-sync

In order to remove the necessity to use BlockBackend names in the
external API, we want to allow node-names everywhere. This converts
blockdev-snapshot-internal-sync to accept a node-name without lifting
the restriction that we're operating at a root node.

In case of an invalid device name, the command returns the GenericError
error class now instead of DeviceNotFound, because this is what
qmp_get_root_bs() returns.

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


  Commit: 7b5dca3f0215ec6484473631928a36c3eb8da0ef
      
https://github.com/qemu/qemu/commit/7b5dca3f0215ec6484473631928a36c3eb8da0ef
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M blockdev.c
    M qapi/block-core.json
    M qmp-commands.hx

  Log Message:
  -----------
  block: Accept node-name for change-backing-file

In order to remove the necessity to use BlockBackend names in the
external API, we want to allow node-names everywhere. This converts
change-backing-file to accept a node-name without lifting the
restriction that we're operating at a root node.

In case of an invalid device name, the command returns the GenericError
error class now instead of DeviceNotFound, because this is what
qmp_get_root_bs() returns.

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


  Commit: b7e4fa224200ec87b9599a1d72b16ada35a3d113
      
https://github.com/qemu/qemu/commit/b7e4fa224200ec87b9599a1d72b16ada35a3d113
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M blockdev.c
    M qapi/block-core.json
    M qmp-commands.hx
    M tests/qemu-iotests/055

  Log Message:
  -----------
  block: Accept node-name for drive-backup

In order to remove the necessity to use BlockBackend names in the
external API, we want to allow node-names everywhere. This converts
drive-backup and the corresponding transaction action to accept a
node-name without lifting the restriction that we're operating at a root
node.

In case of an invalid device name, the command returns the GenericError
error class now instead of DeviceNotFound, because this is what
qmp_get_root_bs() returns.

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


  Commit: 0524e93a3fd7bff5bb4a584c372f2632ab7c0e0f
      
https://github.com/qemu/qemu/commit/0524e93a3fd7bff5bb4a584c372f2632ab7c0e0f
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M blockdev.c
    M qapi/block-core.json
    M qmp-commands.hx
    M tests/qemu-iotests/041

  Log Message:
  -----------
  block: Accept node-name for drive-mirror

In order to remove the necessity to use BlockBackend names in the
external API, we want to allow node-names everywhere. This converts
drive-mirror to accept a node-name without lifting the restriction that
we're operating at a root node.

In case of an invalid device name, the command returns the GenericError
error class now instead of DeviceNotFound, because this is what
qmp_get_root_bs() returns.

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


  Commit: cd7fca952ce8456955f7f4e11df9ced14204c2f1
      
https://github.com/qemu/qemu/commit/cd7fca952ce8456955f7f4e11df9ced14204c2f1
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M block.c
    M blockdev-nbd.c
    M include/block/nbd.h
    M nbd/server.c
    M qemu-nbd.c

  Log Message:
  -----------
  nbd-server: Use a separate BlockBackend

The builtin NBD server uses its own BlockBackend now instead of reusing
the monitor/guest device one.

This means that it has its own writethrough setting now. The builtin
NBD server always uses writeback caching now regardless of whether the
guest device has WCE enabled. qemu-nbd respects the cache mode given on
the command line.

We still need to keep a reference to the monitor BB because we put an
eject notifier on it, but we don't use it for any I/O.

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


  Commit: 094138d09e78443a4b6ec9532398e0ae98323319
      
https://github.com/qemu/qemu/commit/094138d09e78443a4b6ec9532398e0ae98323319
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M blockdev-nbd.c
    M qapi/block.json

  Log Message:
  -----------
  nbd-server: Allow node name for nbd-server-add

There is no reason why an NBD server couldn't be started for any node,
even if it's not on the top level. This converts nbd-server-add to
accept a node-name.

Note that there is a semantic difference between using a BlockBackend
name and the node name of its root: In the former case, the NBD server
is closed on eject; in the latter case, the NBD server doesn't drop its
reference and keeps the image file open this way.

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


  Commit: fe5c1355e73940dbde9b38dec6e8fab4117ec637
      
https://github.com/qemu/qemu/commit/fe5c1355e73940dbde9b38dec6e8fab4117ec637
  Author: Pavel Butsykin <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M block/block-backend.c
    M block/io.c
    M include/block/block.h
    M include/sysemu/block-backend.h
    M qemu-img.c
    M qemu-io-cmds.c

  Log Message:
  -----------
  block: switch blk_write_compressed() to byte-based interface

This is a preparatory patch, which continues the general trend of the
transition to the byte-based interfaces. bdrv_check_request() and
blk_check_request() are no longer used, thus we can remove them.

Signed-off-by: Pavel Butsykin <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Jeff Cody <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Eric Blake <address@hidden>
CC: John Snow <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 751e2f0698c284b4924d83ec63fa4e834bf4c80d
      
https://github.com/qemu/qemu/commit/751e2f0698c284b4924d83ec63fa4e834bf4c80d
  Author: Pavel Butsykin <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

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

  Log Message:
  -----------
  block: Convert bdrv_pwrite_compressed() to BdrvChild

Signed-off-by: Pavel Butsykin <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
CC: Jeff Cody <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Eric Blake <address@hidden>
CC: John Snow <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 29a298af9d2479cc230505b18d5a5c2da0ab578e
      
https://github.com/qemu/qemu/commit/29a298af9d2479cc230505b18d5a5c2da0ab578e
  Author: Pavel Butsykin <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

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

  Log Message:
  -----------
  block/io: reuse bdrv_co_pwritev() for write compressed

For bdrv_pwrite_compressed() it looks like most of the code creating
coroutine is duplicated in bdrv_prwv_co(). So we can just add a flag
(BDRV_REQ_WRITE_COMPRESSED) and use bdrv_prwv_co() as a generic one.
In the end we get coroutine oriented function for write compressed by using
bdrv_co_pwritev/blk_co_pwritev with BDRV_REQ_WRITE_COMPRESSED flag.

Signed-off-by: Pavel Butsykin <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Jeff Cody <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Eric Blake <address@hidden>
CC: John Snow <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: fcccefc57f235c0928e60bba0b7f6084677ed3df
      
https://github.com/qemu/qemu/commit/fcccefc57f235c0928e60bba0b7f6084677ed3df
  Author: Pavel Butsykin <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: add qcow2_co_pwritev_compressed

Added implementation of the qcow2_co_pwritev_compressed function that
will allow us to safely use compressed writes for the qcow2 from running
VMs.

Signed-off-by: Pavel Butsykin <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Jeff Cody <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Eric Blake <address@hidden>
CC: John Snow <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: a2c0ca6f55fbf6cbb5540dea9783f22d99aca528
      
https://github.com/qemu/qemu/commit/a2c0ca6f55fbf6cbb5540dea9783f22d99aca528
  Author: Pavel Butsykin <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: cleanup qcow2_co_pwritev_compressed to avoid the recursion

Now that the function uses a vector instead of a buffer, there is no
need to use recursive code.

Signed-off-by: Pavel Butsykin <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Jeff Cody <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Eric Blake <address@hidden>
CC: John Snow <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: b2c622d365e9eea3ddc83d71c8af19e1bca6dbb1
      
https://github.com/qemu/qemu/commit/b2c622d365e9eea3ddc83d71c8af19e1bca6dbb1
  Author: Pavel Butsykin <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M block/vmdk.c

  Log Message:
  -----------
  vmdk: add vmdk_co_pwritev_compressed

Added implementation of the vmdk_co_pwritev_compressed function that
will allow us to safely use compressed writes for the vmdk from running
VMs.

Signed-off-by: Pavel Butsykin <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Jeff Cody <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Eric Blake <address@hidden>
CC: John Snow <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: f2b95a12317bf827f3f734353ffe0e1ec41942ae
      
https://github.com/qemu/qemu/commit/f2b95a12317bf827f3f734353ffe0e1ec41942ae
  Author: Pavel Butsykin <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M block/qcow.c

  Log Message:
  -----------
  qcow: add qcow_co_pwritev_compressed

Added implementation of the qcow_co_pwritev_compressed function that
will allow us to safely use compressed writes for the qcow from running
VMs.

Signed-off-by: Pavel Butsykin <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Jeff Cody <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Eric Blake <address@hidden>
CC: John Snow <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 655923df4be82ac23efc6862d35f569d05824e42
      
https://github.com/qemu/qemu/commit/655923df4be82ac23efc6862d35f569d05824e42
  Author: Pavel Butsykin <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M block/qcow.c

  Log Message:
  -----------
  qcow: cleanup qcow_co_pwritev_compressed to avoid the recursion

Now that the function uses a vector instead of a buffer, there is no
need to use recursive code.

Signed-off-by: Pavel Butsykin <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Jeff Cody <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Eric Blake <address@hidden>
CC: John Snow <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 35fadca80e6df2e7a2e57ea162db11f0219c2b2d
      
https://github.com/qemu/qemu/commit/35fadca80e6df2e7a2e57ea162db11f0219c2b2d
  Author: Pavel Butsykin <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M block/block-backend.c
    M block/io.c
    M include/block/block.h
    M include/block/block_int.h
    M qemu-img.c

  Log Message:
  -----------
  block: remove BlockDriver.bdrv_write_compressed

There are no block drivers left that implement the old
.bdrv_write_compressed interface, so it can be removed. Also now we have
no need to use the bdrv_pwrite_compressed function and we can remove it
entirely.

Signed-off-by: Pavel Butsykin <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Jeff Cody <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Eric Blake <address@hidden>
CC: John Snow <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 3ea1a091119793a5e554859cc4dcd1ef060810bd
      
https://github.com/qemu/qemu/commit/3ea1a091119793a5e554859cc4dcd1ef060810bd
  Author: Pavel Butsykin <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block/io: turn on dirty_bitmaps for the compressed writes

Previously was added the assert:

  commit 1755da16e32c15b22a521e8a38539e4b5cf367f3
  Author: Paolo Bonzini <address@hidden>
  Date:   Thu Oct 18 16:49:18 2012 +0200
  block: introduce new dirty bitmap functionality

Now the compressed write is always in coroutine and setting the bits is
done after the write, so that we can return the dirty_bitmaps for the
compressed writes.

Signed-off-by: Pavel Butsykin <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Jeff Cody <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Eric Blake <address@hidden>
CC: John Snow <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 81206a8987f896adb61d070133c81c47a74b1a38
      
https://github.com/qemu/qemu/commit/81206a8987f896adb61d070133c81c47a74b1a38
  Author: Pavel Butsykin <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

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

  Log Message:
  -----------
  block: simplify drive-backup

Now that we can support boxed commands, use it to greatly reduce the
number of parameters (and likelihood of getting out of sync) when
adjusting drive-backup parameters.

Signed-off-by: Pavel Butsykin <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Jeff Cody <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Eric Blake <address@hidden>
CC: John Snow <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: dc7a4a9ed170c19b4036cef2720d3e8fb551cc0f
      
https://github.com/qemu/qemu/commit/dc7a4a9ed170c19b4036cef2720d3e8fb551cc0f
  Author: Pavel Butsykin <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

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

  Log Message:
  -----------
  block: simplify blockdev-backup

Now that we can support boxed commands, use it to greatly reduce the
number of parameters (and likelihood of getting out of sync) when
adjusting blockdev-backup parameters.

Signed-off-by: Pavel Butsykin <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Jeff Cody <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Eric Blake <address@hidden>
CC: John Snow <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 13b9414b5798539e2dbb87a570d96184fe21edf4
      
https://github.com/qemu/qemu/commit/13b9414b5798539e2dbb87a570d96184fe21edf4
  Author: Pavel Butsykin <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M block/backup.c
    M blockdev.c
    M hmp-commands.hx
    M hmp.c
    M include/block/block_int.h
    M qapi/block-core.json
    M qmp-commands.hx

  Log Message:
  -----------
  drive-backup: added support for data compression

The idea is simple - backup is "written-once" data. It is written block
by block and it is large enough. It would be nice to save storage
space and compress it.

The patch adds a flag to the qmp/hmp drive-backup command which enables
block compression. Compression should be implemented in the format driver
to enable this feature.

There are some limitations of the format driver to allow compressed writes.
We can write data only once. Though for backup this is perfectly fine.
These limitations are maintained by the driver and the error will be
reported if we are doing something wrong.

Signed-off-by: Pavel Butsykin <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Jeff Cody <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Eric Blake <address@hidden>
CC: John Snow <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 3b7b12365953c507d50b52fbd3f1b46574c6946f
      
https://github.com/qemu/qemu/commit/3b7b12365953c507d50b52fbd3f1b46574c6946f
  Author: Pavel Butsykin <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M blockdev.c
    M qapi/block-core.json
    M qmp-commands.hx

  Log Message:
  -----------
  blockdev-backup: added support for data compression

The idea is simple - backup is "written-once" data. It is written block
by block and it is large enough. It would be nice to save storage
space and compress it.

Signed-off-by: Pavel Butsykin <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Jeff Cody <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Eric Blake <address@hidden>
CC: John Snow <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: e1b5c51f4c0c5ecbf158148e2333ee87080bc66f
      
https://github.com/qemu/qemu/commit/e1b5c51f4c0c5ecbf158148e2333ee87080bc66f
  Author: Pavel Butsykin <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

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

  Log Message:
  -----------
  qemu-iotests: test backup compression in 055

Added cases to check the backup compression out of qcow2, raw in qcow2
on drive-backup and blockdev-backup.

Signed-off-by: Pavel Butsykin <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Jeff Cody <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Eric Blake <address@hidden>
CC: John Snow <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 00198ecc776d2d6b9f65703f209f4e2c8b2ab844
      
https://github.com/qemu/qemu/commit/00198ecc776d2d6b9f65703f209f4e2c8b2ab844
  Author: Pavel Butsykin <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M tests/qemu-iotests/055

  Log Message:
  -----------
  qemu-iotests: add vmdk for test backup compression in 055

The vmdk format has support for compression, it would be fine to add it for
the test backup compression

Signed-off-by: Pavel Butsykin <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Jeff Cody <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Eric Blake <address@hidden>
CC: John Snow <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 980e66216ffc3e37903f979e02c5f63152b518c3
      
https://github.com/qemu/qemu/commit/980e66216ffc3e37903f979e02c5f63152b518c3
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M tests/test-coroutine.c

  Log Message:
  -----------
  test-coroutine: Fix coroutine pool corruption

The test case overwrites the Coroutine object with 0xff as a way to
assert that the coroutine isn't used any more. However, this means that
the coroutine pool now contains a corrupted object and later test cases
may get this corrupted object and crash.

This patch saves the real content of the object and restores it after
completing the test. The only use of the coroutine pool between those
two points is the deletion of co2. As this only means an insertion at
the head of an SLIST (release_pool or alloc_pool), it doesn't access the
invalid list pointers that co1 has during this period.

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


  Commit: 8b2bd09338ae44e35a46e324cda566dbf17fc21c
      
https://github.com/qemu/qemu/commit/8b2bd09338ae44e35a46e324cda566dbf17fc21c
  Author: Pavel Butsykin <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: fix iovec size at qcow2_co_pwritev_compressed

Use bytes as the size would be more exact than s->cluster_size.  Although
qemu_iovec_to_buf() will not allow to go beyond the qiov.

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


  Commit: 0e438cdc932a785de72166af4641aafa103a6670
      
https://github.com/qemu/qemu/commit/0e438cdc932a785de72166af4641aafa103a6670
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

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

  Log Message:
  -----------
  coroutine: Let CoMutex remember who holds it

In cases of deadlocks, knowing who holds a given CoMutex is really
helpful for debugging. Keeping the information around doesn't cost much
and allows us to add another assertion to keep the code correct, so
let's just add it.

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


  Commit: 1b7f01d966f97b7820f3cdd471461cf0799a93cc
      
https://github.com/qemu/qemu/commit/1b7f01d966f97b7820f3cdd471461cf0799a93cc
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

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

  Log Message:
  -----------
  coroutine: Assert that no locks are held on termination

A coroutine that takes a lock must also release it again. If the
coroutine terminates without having released all its locks, it's buggy
and we'll probably run into a deadlock sooner or later. Make sure that
we don't get such cases.

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


  Commit: 1562047c899ccecdf8af9645ce7fd35fcd2fdb31
      
https://github.com/qemu/qemu/commit/1562047c899ccecdf8af9645ce7fd35fcd2fdb31
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M blockjob.c

  Log Message:
  -----------
  block jobs: Improve error message for missing job ID

If a block job is started with a node name rather than a device name and
no explicit job ID is passed, it was reported that '' isn't a
well-formed ID. Which is correct, but we can make the message a little
bit nicer.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>


  Commit: c0088d79a7d0d9070a46331b60ec8aa871fe2085
      
https://github.com/qemu/qemu/commit/c0088d79a7d0d9070a46331b60ec8aa871fe2085
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

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

  Log Message:
  -----------
  qemu-iotests: Log QMP traffic in debug mode

Python tests are already annoying enough to debug. With QMP traffic
available it's a little bit easier at least.

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


  Commit: e7f98f2f92827df9944402d1613a4e32fe50215b
      
https://github.com/qemu/qemu/commit/e7f98f2f92827df9944402d1613a4e32fe50215b
  Author: Kevin Wolf <address@hidden>
  Date:   2016-09-05 (Mon, 05 Sep 2016)

  Changed paths:
    M hmp.c

  Log Message:
  -----------
  block: Allow node name for 'qemu-io' HMP command

When using a node name, create a temporary BlockBackend that is used to
run the qemu-io command.

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


  Commit: 2926375cffce464fde6b4dabaed1e133d549af39
      
https://github.com/qemu/qemu/commit/2926375cffce464fde6b4dabaed1e133d549af39
  Author: Peter Maydell <address@hidden>
  Date:   2016-09-06 (Tue, 06 Sep 2016)

  Changed paths:
    M block.c
    M block/backup.c
    M block/block-backend.c
    M block/io.c
    M block/qcow.c
    M block/qcow2.c
    M block/vmdk.c
    M blockdev-nbd.c
    M blockdev.c
    M blockjob.c
    M hmp-commands.hx
    M hmp.c
    M hw/ide/qdev.c
    M hw/scsi/scsi-disk.c
    M include/block/block.h
    M include/block/block_int.h
    M include/block/nbd.h
    M include/qemu/coroutine.h
    M include/qemu/coroutine_int.h
    M include/sysemu/block-backend.h
    M nbd/server.c
    M qapi/block-core.json
    M qapi/block.json
    M qemu-img.c
    M qemu-io-cmds.c
    M qemu-nbd.c
    M qmp-commands.hx
    M tests/qemu-iotests/030
    M tests/qemu-iotests/041
    M tests/qemu-iotests/055
    M tests/qemu-iotests/055.out
    M tests/qemu-iotests/057
    M tests/qemu-iotests/iotests.py
    M tests/test-coroutine.c
    M util/qemu-coroutine-lock.c
    M util/qemu-coroutine.c

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

Block layer patches

# gpg: Signature made Tue 06 Sep 2016 11:38:01 BST
# gpg:                using RSA key 0x7F09B272C88F2FD6
# 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: (36 commits)
  block: Allow node name for 'qemu-io' HMP command
  qemu-iotests: Log QMP traffic in debug mode
  block jobs: Improve error message for missing job ID
  coroutine: Assert that no locks are held on termination
  coroutine: Let CoMutex remember who holds it
  qcow2: fix iovec size at qcow2_co_pwritev_compressed
  test-coroutine: Fix coroutine pool corruption
  qemu-iotests: add vmdk for test backup compression in 055
  qemu-iotests: test backup compression in 055
  blockdev-backup: added support for data compression
  drive-backup: added support for data compression
  block: simplify blockdev-backup
  block: simplify drive-backup
  block/io: turn on dirty_bitmaps for the compressed writes
  block: remove BlockDriver.bdrv_write_compressed
  qcow: cleanup qcow_co_pwritev_compressed to avoid the recursion
  qcow: add qcow_co_pwritev_compressed
  vmdk: add vmdk_co_pwritev_compressed
  qcow2: cleanup qcow2_co_pwritev_compressed to avoid the recursion
  qcow2: add qcow2_co_pwritev_compressed
  ...

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


Compare: https://github.com/qemu/qemu/compare/f9ae6bcf1d46...2926375cffce

reply via email to

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