qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 9f4ed6: block: Don't call blk_bs() twice in b


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 9f4ed6: block: Don't call blk_bs() twice in bdrv_lookup_bs...
Date: Wed, 11 Nov 2015 10:30:04 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 9f4ed6fbd264a7c097590d830dcfd93996a80acb
      
https://github.com/qemu/qemu/commit/9f4ed6fbd264a7c097590d830dcfd93996a80acb
  Author: Alberto Garcia <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Don't call blk_bs() twice in bdrv_lookup_bs()

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


  Commit: 1c95f7e1aff8417ff6e6cc23bc2d04fbcf79d37e
      
https://github.com/qemu/qemu/commit/1c95f7e1aff8417ff6e6cc23bc2d04fbcf79d37e
  Author: Max Reitz <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  block: Add blk_remove_bs()

This function removes the BlockDriverState associated with the given
BlockBackend from that BB and sets the BDS pointer in the BB to NULL.

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


  Commit: c69a4dd89989b483b06d765b13e41594c78d32b9
      
https://github.com/qemu/qemu/commit/c69a4dd89989b483b06d765b13e41594c78d32b9
  Author: Max Reitz <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  block: Make bdrv_states public

When inserting a BDS tree into a BB, we will need to add the root BDS to
this list. Since we will want to do that in the blockdev-insert-medium
implementation in blockdev.c, we will need access to it there.

This patch is not exactly elegant, but bdrv_states will be removed in
the future anyway because we no longer need it since we have BBs.

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


  Commit: 38cb18f5b71428fb8a3e3759ac8fa21ac70cb1b5
      
https://github.com/qemu/qemu/commit/38cb18f5b71428fb8a3e3759ac8fa21ac70cb1b5
  Author: Max Reitz <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  block: Add functions for inheriting a BBRS

In order to open a BDS which inherits a BB's root state,
blk_get_open_flags_from_root_state() is used to inquire the flags to be
passed to bdrv_open(), and blk_apply_root_state() is used to apply the
remaining state after the BDS has been opened.

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


  Commit: 7d8a9f71b9ec9fa295265392218efaf0771d96e0
      
https://github.com/qemu/qemu/commit/7d8a9f71b9ec9fa295265392218efaf0771d96e0
  Author: Max Reitz <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  blockdev: Add blockdev-open-tray

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


  Commit: abaaf59d245b6984644497b6745f88912c715c39
      
https://github.com/qemu/qemu/commit/abaaf59d245b6984644497b6745f88912c715c39
  Author: Max Reitz <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  blockdev: Add blockdev-close-tray

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


  Commit: 2814f67271bce537f29c6a7832f89fd4f1cdaa1a
      
https://github.com/qemu/qemu/commit/2814f67271bce537f29c6a7832f89fd4f1cdaa1a
  Author: Max Reitz <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  blockdev: Add blockdev-remove-medium

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


  Commit: d129988289a885e57aa8790097e2d814764571bd
      
https://github.com/qemu/qemu/commit/d129988289a885e57aa8790097e2d814764571bd
  Author: Max Reitz <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  blockdev: Add blockdev-insert-medium

And a helper function for that, which directly takes a pointer to the
BDS to be inserted instead of its node-name (which will be used for
implementing 'change' using blockdev-insert-medium).

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


  Commit: 38f54bd1ee0ed0f13b7326eb79403e320c3a28d3
      
https://github.com/qemu/qemu/commit/38f54bd1ee0ed0f13b7326eb79403e320c3a28d3
  Author: Max Reitz <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M blockdev.c

  Log Message:
  -----------
  blockdev: Implement eject with basic operations

Implement 'eject' by calling blockdev-open-tray and
blockdev-remove-medium.

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


  Commit: de2c6c0536c5c5ebb6e0ce7dcfd8fa9476edab52
      
https://github.com/qemu/qemu/commit/de2c6c0536c5c5ebb6e0ce7dcfd8fa9476edab52
  Author: Max Reitz <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M blockdev.c

  Log Message:
  -----------
  blockdev: Implement change with basic operations

Implement 'change' on block devices by calling blockdev-open-tray,
blockdev-remove-medium, blockdev-insert-medium (a variation of that
which does not need a node-name) and blockdev-close-tray.

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


  Commit: f1f57066573e832438cd87600310589fa9cee202
      
https://github.com/qemu/qemu/commit/f1f57066573e832438cd87600310589fa9cee202
  Author: Max Reitz <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M block/block-backend.c

  Log Message:
  -----------
  block: Inquire tray state before tray-moved events

blk_dev_change_media_cb() is called for all potential tray movements;
however, it is possible to request closing the tray but nothing actually
happening (on a floppy disk drive without a medium).

Thus, the actual tray status should be inquired before sending a
tray-moved event (and an event should be sent whenever the status
changed).

Checking @load is now superfluous; it was necessary because it was
possible to change a medium without having explicitly opened the tray
and closed it again (or it might have been possible, at least). This is
no longer possible, though.

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


  Commit: 24fb4133001e1f54a526f0927837f30c1507169a
      
https://github.com/qemu/qemu/commit/24fb4133001e1f54a526f0927837f30c1507169a
  Author: Max Reitz <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M blockdev.c
    M include/sysemu/blockdev.h
    M qapi-schema.json
    M qapi/block-core.json
    M qmp-commands.hx
    M qmp.c
    M ui/cocoa.m

  Log Message:
  -----------
  qmp: Introduce blockdev-change-medium

Introduce a new QMP command 'blockdev-change-medium' which is intended
to replace the 'change' command for block devices. The existing function
qmp_change_blockdev() is accordingly renamed to
qmp_blockdev_change_medium().

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


  Commit: 1068674927a08cb9f535946abe2f91529b13160c
      
https://github.com/qemu/qemu/commit/1068674927a08cb9f535946abe2f91529b13160c
  Author: Max Reitz <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M hmp.c

  Log Message:
  -----------
  hmp: Use blockdev-change-medium for change command

Use separate code paths for the two overloaded functions of the 'change'
HMP command, and invoke the 'blockdev-change-medium' QMP command if used
on a block device (by calling qmp_blockdev_change_medium()).

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


  Commit: 39ff43d9e1f42b1d829a955e546cddab87ac0626
      
https://github.com/qemu/qemu/commit/39ff43d9e1f42b1d829a955e546cddab87ac0626
  Author: Max Reitz <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  blockdev: read-only-mode for blockdev-change-medium

Add an option to qmp_blockdev_change_medium() which allows changing the
read-only status of the block device whose medium is changed.

Some drives do not have a inherently fixed read-only status; for
instance, floppy disks can be set read-only or writable independently of
the drive. Some users may find it useful to be able to therefore change
the read-only status of a block device when changing the medium.

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


  Commit: baead0abefa8e95b18e53281ac182c96b24ba0cb
      
https://github.com/qemu/qemu/commit/baead0abefa8e95b18e53281ac182c96b24ba0cb
  Author: Max Reitz <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M hmp-commands.hx
    M hmp.c

  Log Message:
  -----------
  hmp: Add read-only-mode option to change command

Expose the new read-only-mode option of 'blockdev-change-medium' for the
'change' HMP command.

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


  Commit: adfe20303f2a897ce64b77fe579a0c7dc1e81771
      
https://github.com/qemu/qemu/commit/adfe20303f2a897ce64b77fe579a0c7dc1e81771
  Author: Max Reitz <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  iotests: Add test for change-related QMP commands

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


  Commit: a39a24fbb05055d00026eb569ff3f7b868ca8785
      
https://github.com/qemu/qemu/commit/a39a24fbb05055d00026eb569ff3f7b868ca8785
  Author: Alberto Garcia <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M blockdev.c

  Log Message:
  -----------
  block: check for existing device IDs in external_snapshot_prepare()

The 'snapshot-node-name' parameter of blockdev-snapshot-sync allows
setting the node name of the image that is going to be created.

Before creating the image, external_snapshot_prepare() checks that the
name is not already being used. The check is however incomplete since
it only considers existing node names, but node names must not clash
with device IDs either because they share the same namespace.

If the user attempts to create a snapshot using the name of an
existing device for the 'snapshot-node-name' parameter the operation
will eventually fail, but only after the new image has been created.

This patch replaces bdrv_find_node() with bdrv_lookup_bs() to extend
the check to existing device IDs, and thus detect possible name
clashes before the new image is created.

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


  Commit: a911e6ae7ce47d51b519d462c1d99d53b37b0f8c
      
https://github.com/qemu/qemu/commit/a911e6ae7ce47d51b519d462c1d99d53b37b0f8c
  Author: Alberto Garcia <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  block: rename BlockdevSnapshot to BlockdevSnapshotSync

We will introduce the 'blockdev-snapshot' command that will require
its own struct for the parameters, so we need to rename this one in
order to avoid name clashes.

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


  Commit: 3e8c2e57056614933fc5eb022e1d6d0f28071b44
      
https://github.com/qemu/qemu/commit/3e8c2e57056614933fc5eb022e1d6d0f28071b44
  Author: Alberto Garcia <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: support passing 'backing': '' to 'blockdev-add'

Passing an empty string allows opening an image but not its backing
file. This was already described in the API documentation, only the
implementation was missing.

This is useful for creating snapshots using images opened with
blockdev-add, since they are not supposed to have a backing image
before the operation.

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


  Commit: 43de7e2de07093e47c7f25386aff280875dc3c62
      
https://github.com/qemu/qemu/commit/43de7e2de07093e47c7f25386aff280875dc3c62
  Author: Alberto Garcia <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  block: add a 'blockdev-snapshot' QMP command

One of the limitations of the 'blockdev-snapshot-sync' command is that
it does not allow passing BlockdevOptions to the newly created
snapshots, so they are always opened using the default values.

Extending the command to allow passing options is not a practical
solution because there is overlap between those options and some of
the existing parameters of the command.

This patch introduces a new 'blockdev-snapshot' command with a simpler
interface: it just takes two references to existing block devices that
will be used as the source and target for the snapshot.

Since the main difference between the two commands is that one of them
creates and opens the target image, while the other uses an already
opened one, the bulk of the implementation is shared.

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


  Commit: 89e3a2d86d31212d09ca688193ccecb92c0c77b5
      
https://github.com/qemu/qemu/commit/89e3a2d86d31212d09ca688193ccecb92c0c77b5
  Author: Alberto Garcia <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  block: add tests for the 'blockdev-snapshot' command

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


  Commit: 3db2bd5508c86a1605258bc77c9672d93b5c350e
      
https://github.com/qemu/qemu/commit/3db2bd5508c86a1605258bc77c9672d93b5c350e
  Author: Alberto Garcia <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M block/commit.c

  Log Message:
  -----------
  commit: reopen overlay_bs before base

'block-commit' needs write access to two different nodes of the chain:

- 'base', because that's where the data is written to.
- the overlay of 'top', because it needs to update the backing file
  string to point to 'base' after the operation.

Both images have to be opened in read-write mode, and commit_start()
takes care of reopening them if necessary.

With the current implementation, however, when overlay_bs is reopened
in read-write mode it has the side effect of making 'base' read-only
again, eventually making 'block-commit' fail.

This needs to be fixed in bdrv_reopen(), but until we get to that it
can be worked around simply by swapping the order of base and
overlay_bs in the reopen queue.

In order to reproduce this bug, overlay_bs needs to be initially in
read-only mode. That is: the 'top' parameter of 'block-commit' cannot
be the active layer nor its immediate backing chain.

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


  Commit: bcdce5a73cb28f32b3ca3a51e8fa89879685e015
      
https://github.com/qemu/qemu/commit/bcdce5a73cb28f32b3ca3a51e8fa89879685e015
  Author: Alberto Garcia <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  qemu-iotests: Test the reopening of overlay_bs in 'block-commit'

The 'block-commit' command needs the overlay image of 'top' to
be opened in read-write mode in order to update the backing file
string. If 'top' is not the active layer or its backing file then its
overlay needs to be reopened during the block job.

This is a test case for that scenario.

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


  Commit: 95334230637cef9fbd199bb79a56271ec73d4732
      
https://github.com/qemu/qemu/commit/95334230637cef9fbd199bb79a56271ec73d4732
  Author: John Snow <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M block/qcow2-refcount.c

  Log Message:
  -----------
  qcow2: avoid misaligned 64bit bswap

If we create a buffer directly on the stack by using 12 bytes, there's
no guarantee the 64bit value we want to swap will be aligned, which
could cause errors with undefined behavior.

Spotted with clang -fsanitize=undefined and observed in iotests 15, 26,
44, 115 and 121.

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


  Commit: 62547b8a1c04daf30f50e3db362ade53e22bf222
      
https://github.com/qemu/qemu/commit/62547b8a1c04daf30f50e3db362ade53e22bf222
  Author: John Snow <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M qemu-img.c

  Log Message:
  -----------
  qemu-img: add check for zero-length job len

The mirror job doesn't update its total length until
it has already started running, so we should translate
a zero-length job-len as meaning 0%.

Otherwise, we may get divide-by-zero faults.

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 5ac724184c286b367525035eabf4b8bb4a386c54
      
https://github.com/qemu/qemu/commit/5ac724184c286b367525035eabf4b8bb4a386c54
  Author: Alberto Garcia <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M block/throttle-groups.c

  Log Message:
  -----------
  throttle: Check for pending requests in throttle_group_unregister_bs()

throttle_group_unregister_bs() removes a BlockDriverState from its
throttling group and destroys the timers. This means that there must
be no pending throttled requests at that point (because it would be
impossible to complete them), so the caller has to drain them first.

At the moment throttle_group_unregister_bs() is only called from
bdrv_io_limits_disable(), which already takes care of draining the
requests, so there's nothing to worry about, but this patch makes
this invariant explicit in the documentation and adds the relevant
assertions.

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


  Commit: a0d64a61db602696f4f1895a890c65eda5b3b618
      
https://github.com/qemu/qemu/commit/a0d64a61db602696f4f1895a890c65eda5b3b618
  Author: Alberto Garcia <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  throttle: Use bs->throttle_state instead of bs->io_limits_enabled

There are two ways to check for I/O limits in a BlockDriverState:

- bs->throttle_state: if this pointer is not NULL, it means that this
  BDS is member of a throttling group, its ThrottleTimers structure
  has been initialized and its I/O limits are ready to be applied.

- bs->io_limits_enabled: if true it means that the throttle_state
  pointer is valid _and_ the limits are currently enabled.

The latter is used in several places to check whether a BDS has I/O
limits configured, but what it really checks is whether requests
are being throttled or not. For example, io_limits_enabled can be
temporarily set to false in cases like bdrv_read_unthrottled() without
otherwise touching the throtting configuration of that BDS.

This patch replaces bs->io_limits_enabled with bs->throttle_state in
all cases where what we really want to check is the existence of I/O
limits, not whether they are currently enabled or not.

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


  Commit: 08b24cfe3765f4b739700778814048e7d9a045fe
      
https://github.com/qemu/qemu/commit/08b24cfe3765f4b739700778814048e7d9a045fe
  Author: Alberto Garcia <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M blockdev.c

  Log Message:
  -----------
  block: Disallow snapshots if the overlay doesn't support backing files

This addresses scenarios like this one:

  { 'execute': 'blockdev-add', 'arguments':
    { 'options': { 'driver': 'qcow2',
             'node-name': 'new0',
             'file': { 'driver': 'file',
                       'filename': 'new.qcow2',
                       'node-name': 'file0' } } } }

  { 'execute': 'blockdev-snapshot', 'arguments':
    { 'node': 'virtio0',
      'overlay': 'file0' } }

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


  Commit: f2d7f16f948b2ecfbb039c6bd62d6c7e2d61fac4
      
https://github.com/qemu/qemu/commit/f2d7f16f948b2ecfbb039c6bd62d6c7e2d61fac4
  Author: Alberto Garcia <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M tests/qemu-iotests/085

  Log Message:
  -----------
  block: Remove inner quotation marks in iotest 085

This patch removes the inner quotation marks in all cases like this:

   cmd=" ... "${variable}" ... "

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


  Commit: 3fa123d05964b07f9d4d972f131cce847091926d
      
https://github.com/qemu/qemu/commit/3fa123d05964b07f9d4d972f131cce847091926d
  Author: Alberto Garcia <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  block: test 'blockdev-snapshot' using a file BDS as the overlay

This test checks that it is not possible to create a snapshot if the
requested overlay node is a BDS which does not support backing images.

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


  Commit: 9b0beaf3de1396a23d5c287283e6f36c4b5d4385
      
https://github.com/qemu/qemu/commit/9b0beaf3de1396a23d5c287283e6f36c4b5d4385
  Author: John Snow <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M qemu-io-cmds.c

  Log Message:
  -----------
  qemu-io: fix cvtnum lval types

cvtnum() returns int64_t: we should not be storing this
result inside of an int.

In a few cases, we need an extra sprinkling of error handling
where we expect to pass this number on towards a function that
expects something smaller than int64_t.

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


  Commit: ef5a788527b2038d742b057a415ab4d0e735e98f
      
https://github.com/qemu/qemu/commit/ef5a788527b2038d742b057a415ab4d0e735e98f
  Author: John Snow <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M qemu-io-cmds.c

  Log Message:
  -----------
  qemu-io: Check for trailing chars

Make sure there's not trailing garbage, e.g.
"64k-whatever-i-want-here"

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


  Commit: a9ecfa004f2dd83df612daac4a87dfc3a0feba28
      
https://github.com/qemu/qemu/commit/a9ecfa004f2dd83df612daac4a87dfc3a0feba28
  Author: John Snow <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M qemu-io-cmds.c

  Log Message:
  -----------
  qemu-io: Correct error messages

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


  Commit: f6c8c2e055f88e8ed74ac0c185fc9fbca1e1b775
      
https://github.com/qemu/qemu/commit/f6c8c2e055f88e8ed74ac0c185fc9fbca1e1b775
  Author: Jeff Cody <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  qemu-iotests: fix cleanup of background processes

Commit 934659c switched the iotests to run qemu and qemu-nbd from a bash
subshell, in order to catch segfaults.  Unfortunately, this means the
process PID cannot be captured via '$!'. We stopped killing qemu and
qemu-nbd processes, leaving a lot of orphaned, running qemu processes
after executing iotests.

Since the process is using exec in the subshell, the PID is the
same as the subshell PID.

Track these PIDs for cleanup using pidfiles in the $TEST_DIR. Only
track the qemu PID, however, if requested - not all usage requires
killing the process.

Reported-by: John Snow <address@hidden>
Signed-off-by: Jeff Cody <address@hidden>
Message-id: address@hidden
address@hidden: Replaced '! -z "..."' by '-n "..."']
Signed-off-by: Max Reitz <address@hidden>


  Commit: e6c17669eb0868013d9a17050d8eb2d598f06067
      
https://github.com/qemu/qemu/commit/e6c17669eb0868013d9a17050d8eb2d598f06067
  Author: Jeff Cody <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M tests/qemu-iotests/039.out
    M tests/qemu-iotests/061.out
    M tests/qemu-iotests/137.out
    M tests/qemu-iotests/common
    M tests/qemu-iotests/common.config
    M tests/qemu-iotests/common.rc

  Log Message:
  -----------
  qemu-iotests: fix -valgrind option for check

Commit 934659c switched the iotests to run qemu-io from a bash subshell,
in order to catch segfaults.  This method is incompatible with the
current valgrind_qemu_io() bash function.

Move the valgrind usage into the exec subshell in _qemu_io_wrapper(),
while making sure the original return value is passed back to the
caller.

Update test output for tests 039, 061, and 137 as it looks for the
specific subshell command when the process is terminated.

Reported-by: Kevin Wolf <address@hidden>
Signed-off-by: Jeff Cody <address@hidden>
Message-id: address@hidden
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 10f3cd15dd9913f8d959fbd061e6e00c45432093
      
https://github.com/qemu/qemu/commit/10f3cd15dd9913f8d959fbd061e6e00c45432093
  Author: Alberto Garcia <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M block/mirror.c

  Log Message:
  -----------
  mirror: block all operations on the target image during the job

There's nothing preventing the target image from being used by other
operations during the 'drive-mirror' job, so we should block them all
until the job is done.

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


  Commit: f636ae85f3db8ffb987c79715869dba1b8217e8a
      
https://github.com/qemu/qemu/commit/f636ae85f3db8ffb987c79715869dba1b8217e8a
  Author: Alberto Garcia <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  block: Add blk_get_refcnt()

This function returns the reference count of a given BlockBackend.
For convenience, it returns 0 if the BlockBackend pointer is NULL.

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


  Commit: 81b936ae70e635557af9ca80922ee69146cb5f4c
      
https://github.com/qemu/qemu/commit/81b936ae70e635557af9ca80922ee69146cb5f4c
  Author: Alberto Garcia <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  block: Add 'x-blockdev-del' QMP command

This command is still experimental, hence the name.

This is the companion to 'blockdev-add'. It allows deleting a
BlockBackend with its associated BlockDriverState tree, or a
BlockDriverState that is not attached to any backend.

In either case, the command fails if the reference count is greater
than 1 or the BlockDriverState has any parents.

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


  Commit: 342075fd0ec9dce87139d71a81e1dbbe5ab5d021
      
https://github.com/qemu/qemu/commit/342075fd0ec9dce87139d71a81e1dbbe5ab5d021
  Author: Alberto Garcia <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

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

  Log Message:
  -----------
  iotests: Add tests for the x-blockdev-del command

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


  Commit: a99dfb45f26bface6830ee5465e57bcdbc53c6c8
      
https://github.com/qemu/qemu/commit/a99dfb45f26bface6830ee5465e57bcdbc53c6c8
  Author: Kevin Wolf <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M block/qcow2-cluster.c

  Log Message:
  -----------
  qcow2: Fix qcow2_get_cluster_offset() for zero clusters

When searching for contiguous zero clusters, we only need to check the
cluster type. Before this patch, an increasing offset (L2E_OFFSET_MASK)
was expected, so that the function never returned more than a single
zero cluster in practice. This patch fixes it to actually return as many
contiguous zero clusters as it can.

Cc: address@hidden
Signed-off-by: Kevin Wolf <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 92e68987745b0f89f04d29fe1d0c821010d58ea6
      
https://github.com/qemu/qemu/commit/92e68987745b0f89f04d29fe1d0c821010d58ea6
  Author: Alberto Garcia <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M tests/qemu-iotests/139

  Log Message:
  -----------
  iotests: Check for quorum support in test 139

The quorum driver is always built in, but it is disabled during
run-time if there's no SHA256 support available (see commit e94867e).

This patch skips the quorum test in iotest 139 in that case.

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


  Commit: 4d07c720f44beafd10907cecfd5b8a57622243c1
      
https://github.com/qemu/qemu/commit/4d07c720f44beafd10907cecfd5b8a57622243c1
  Author: Kevin Wolf <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M block/block-backend.c
    M block/mirror.c
    M block/qcow2-cluster.c
    M blockdev.c
    M include/sysemu/block-backend.h
    M qapi/block-core.json
    M qmp-commands.hx
    M tests/qemu-iotests/039.out
    M tests/qemu-iotests/058
    M tests/qemu-iotests/061.out
    M tests/qemu-iotests/137.out
    A tests/qemu-iotests/139
    A tests/qemu-iotests/139.out
    M tests/qemu-iotests/common
    M tests/qemu-iotests/common.config
    M tests/qemu-iotests/common.qemu
    M tests/qemu-iotests/common.rc
    M tests/qemu-iotests/group

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

Block patches from 2015-10-26 until 2015-11-11.

# gpg: Signature made Wed Nov 11 17:00:50 2015 CET using RSA key ID E838ACAD
# gpg: Good signature from "Max Reitz <address@hidden>"

* mreitz/tags/pull-block-for-kevin-2015-11-11:
  iotests: Check for quorum support in test 139
  qcow2: Fix qcow2_get_cluster_offset() for zero clusters
  iotests: Add tests for the x-blockdev-del command
  block: Add 'x-blockdev-del' QMP command
  block: Add blk_get_refcnt()
  mirror: block all operations on the target image during the job
  qemu-iotests: fix -valgrind option for check
  qemu-iotests: fix cleanup of background processes

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


  Commit: 2869653f23c63c400d3791513b507e9feddbc751
      
https://github.com/qemu/qemu/commit/2869653f23c63c400d3791513b507e9feddbc751
  Author: Peter Maydell <address@hidden>
  Date:   2015-11-11 (Wed, 11 Nov 2015)

  Changed paths:
    M block.c
    M block/block-backend.c
    M block/commit.c
    M block/mirror.c
    M block/qapi.c
    M block/qcow2-cluster.c
    M block/qcow2-refcount.c
    M block/throttle-groups.c
    M blockdev.c
    M hmp-commands.hx
    M hmp.c
    M include/block/block_int.h
    M include/sysemu/block-backend.h
    M include/sysemu/blockdev.h
    M qapi-schema.json
    M qapi/block-core.json
    M qemu-img.c
    M qemu-io-cmds.c
    M qmp-commands.hx
    M qmp.c
    M tests/qemu-iotests/039.out
    M tests/qemu-iotests/040
    M tests/qemu-iotests/040.out
    M tests/qemu-iotests/058
    M tests/qemu-iotests/061.out
    M tests/qemu-iotests/085
    M tests/qemu-iotests/085.out
    A tests/qemu-iotests/118
    A tests/qemu-iotests/118.out
    M tests/qemu-iotests/137.out
    A tests/qemu-iotests/139
    A tests/qemu-iotests/139.out
    M tests/qemu-iotests/common
    M tests/qemu-iotests/common.config
    M tests/qemu-iotests/common.qemu
    M tests/qemu-iotests/common.rc
    M tests/qemu-iotests/group
    M ui/cocoa.m

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

Block layer patches

# gpg: Signature made Wed 11 Nov 2015 16:03:19 GMT using RSA key ID C88F2FD6
# gpg: Good signature from "Kevin Wolf <address@hidden>"

* remotes/kevin/tags/for-upstream: (41 commits)
  iotests: Check for quorum support in test 139
  qcow2: Fix qcow2_get_cluster_offset() for zero clusters
  iotests: Add tests for the x-blockdev-del command
  block: Add 'x-blockdev-del' QMP command
  block: Add blk_get_refcnt()
  mirror: block all operations on the target image during the job
  qemu-iotests: fix -valgrind option for check
  qemu-iotests: fix cleanup of background processes
  qemu-io: Correct error messages
  qemu-io: Check for trailing chars
  qemu-io: fix cvtnum lval types
  block: test 'blockdev-snapshot' using a file BDS as the overlay
  block: Remove inner quotation marks in iotest 085
  block: Disallow snapshots if the overlay doesn't support backing files
  throttle: Use bs->throttle_state instead of bs->io_limits_enabled
  throttle: Check for pending requests in throttle_group_unregister_bs()
  qemu-img: add check for zero-length job len
  qcow2: avoid misaligned 64bit bswap
  qemu-iotests: Test the reopening of overlay_bs in 'block-commit'
  commit: reopen overlay_bs before base
  ...

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


Compare: https://github.com/qemu/qemu/compare/3c07587d4945...2869653f23c6

reply via email to

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