qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] a56149: block: Make sure throttled BDSes alwa


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] a56149: block: Make sure throttled BDSes always have a BB
Date: Thu, 19 May 2016 10:00:07 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: a5614993d79584af93bb845f69f59872b3f76cf8
      
https://github.com/qemu/qemu/commit/a5614993d79584af93bb845f69f59872b3f76cf8
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M block.c
    M block/block-backend.c
    M blockdev.c
    M tests/test-throttle.c

  Log Message:
  -----------
  block: Make sure throttled BDSes always have a BB

It was already true in principle that a throttled BDS always has a BB
attached, except that the order of operations while attaching or
detaching a BDS to/from a BB wasn't careful enough.

This commit breaks graph manipulations while I/O throttling is enabled.
It would have been possible to keep things working with some temporary
hacks, but quite cumbersome, so it's not worth the hassle. We'll fix
things again in a minute.

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


  Commit: f2cd875d54e95f87a4c994cfef082f09b4953aa9
      
https://github.com/qemu/qemu/commit/f2cd875d54e95f87a4c994cfef082f09b4953aa9
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

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

  Log Message:
  -----------
  block: Introduce BlockBackendPublic

Some features, like I/O throttling, are implemented outside
block-backend.c, but still want to keep information in BlockBackend,
e.g. list entries that allow keeping a list of BlockBackends.

In order to avoid exposing the whole struct layout in the public header
file, this patch introduces an embedded public struct where such
information can be added and a pair of functions to convert between
BlockBackend and BlockBackendPublic.

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


  Commit: 31dce3ccca98bc9f9eb57f8b08b008edd07661ba
      
https://github.com/qemu/qemu/commit/31dce3ccca98bc9f9eb57f8b08b008edd07661ba
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M block/io.c
    M block/throttle-groups.c
    M include/block/block_int.h
    M include/block/throttle-groups.h
    M include/sysemu/block-backend.h
    M tests/test-throttle.c

  Log Message:
  -----------
  block: throttle-groups: Use BlockBackend pointers internally

As a first step towards moving I/O throttling to the BlockBackend level,
this patch changes all pointers in struct ThrottleGroup from referencing
a BlockDriverState to referencing a BlockBackend.

This change is valid because we made sure that throttling can only be
enabled on BDSes which have a BB attached.

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


  Commit: 49d2165d7d6b589d1ea28b15a8874c417bdc55ed
      
https://github.com/qemu/qemu/commit/49d2165d7d6b589d1ea28b15a8874c417bdc55ed
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M block/block-backend.c
    M block/io.c
    M block/qapi.c
    M block/throttle-groups.c
    M include/block/throttle-groups.h
    M tests/test-throttle.c

  Log Message:
  -----------
  block: Convert throttle_group_get_name() to BlockBackend

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


  Commit: 27ccdd52598290f0f8b58be56e235aff7aebfaf3
      
https://github.com/qemu/qemu/commit/27ccdd52598290f0f8b58be56e235aff7aebfaf3
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M block.c
    M block/block-backend.c
    M block/io.c
    M block/qapi.c
    M block/throttle-groups.c
    M blockdev.c
    M include/block/block_int.h
    M include/block/throttle-groups.h
    M include/sysemu/block-backend.h
    M tests/test-throttle.c

  Log Message:
  -----------
  block: Move throttling fields from BDS to BB

This patch changes where the throttling state is stored (used to be the
BlockDriverState, now it is the BlockBackend), but it doesn't actually
make it a BB level feature yet. For example, throttling is still
disabled when the BDS is detached from the BB.

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


  Commit: 441565b2792d4ee9ee1928a8d14538be39211292
      
https://github.com/qemu/qemu/commit/441565b2792d4ee9ee1928a8d14538be39211292
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

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

  Log Message:
  -----------
  block: Move actual I/O throttling to BlockBackend

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


  Commit: 97148076e8beebbcab11e5cb581d8508722143fc
      
https://github.com/qemu/qemu/commit/97148076e8beebbcab11e5cb581d8508722143fc
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M block.c
    M block/block-backend.c
    M block/io.c
    M block/qapi.c
    M block/throttle-groups.c
    M blockdev.c
    M include/block/block.h
    M include/block/block_int.h
    M include/block/throttle-groups.h
    M include/sysemu/block-backend.h
    M tests/test-throttle.c

  Log Message:
  -----------
  block: Move I/O throttling configuration functions to BlockBackend

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


  Commit: 22aa8b246ada8d45add8eef64d4640a20b4f7ef3
      
https://github.com/qemu/qemu/commit/22aa8b246ada8d45add8eef64d4640a20b4f7ef3
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

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

  Log Message:
  -----------
  block: Introduce BdrvChild.opaque

BlockBackends use it to get a back pointer from BdrvChild to
BlockBackend in any BdrvChildRole callbacks.

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


  Commit: c2066af0514d80a805dac82accaec1121babfa15
      
https://github.com/qemu/qemu/commit/c2066af0514d80a805dac82accaec1121babfa15
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

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

  Log Message:
  -----------
  block: Drain throttling queue with BdrvChild callback

This removes the last part of I/O throttling from block/io.c and moves
it to the BlockBackend.

Instead of having knowledge about throttling inside io.c, we can call a
BdrvChild callback .drained_begin/end, which happens to drain the
throttled requests for BlockBackend parents.

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


  Commit: bb9aaecaf1d9b9d7da8f8c73a4cbf3afd9848abe
      
https://github.com/qemu/qemu/commit/bb9aaecaf1d9b9d7da8f8c73a4cbf3afd9848abe
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block/io: Quiesce parents between drained_begin/end

So far, bdrv_parent_drained_begin/end() was called for the duration of
the actual bdrv_drain() at the beginning of a drained section, but we
really should keep parents quiesced until the end of the drained
section.

This does not actually change behaviour at this point because the only
user of the .drained_begin/end BdrvChildRole callback is I/O throttling,
which already doesn't send any new requests after flushing its queue in
.drained_begin. The patch merely removes a trap for future users.

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


  Commit: 7ca7f0f6db1fedd28d490795d778cf23979a2aa7
      
https://github.com/qemu/qemu/commit/7ca7f0f6db1fedd28d490795d778cf23979a2aa7
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

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

  Log Message:
  -----------
  block: Decouple throttling from BlockDriverState

This moves the throttling related part of the BDS life cycle management
to BlockBackend. The throttling group reference is now kept even when no
medium is inserted.

With this commit, throttling isn't disabled and then re-enabled any more
during graph reconfiguration. This fixes the temporary breakage of I/O
throttling when used with live snapshots or block jobs that manipulate
the graph.

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


  Commit: 08e83aabe497b97107e19bd46ac09ebbe6982f7e
      
https://github.com/qemu/qemu/commit/08e83aabe497b97107e19bd46ac09ebbe6982f7e
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Remove bdrv_move_feature_fields()

bdrv_move_feature_fields() and swap_feature_fields() are empty now, they
can be removed.

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


  Commit: b26ded9a7d9709aacdff36e39630acbb87201057
      
https://github.com/qemu/qemu/commit/b26ded9a7d9709aacdff36e39630acbb87201057
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M block.c
    M blockdev.c

  Log Message:
  -----------
  Revert "block: Forbid I/O throttling on nodes with multiple parents for 2.6"

This reverts commit 76b223200ef4fb09dd87f0e213159795eb68e7a5.

Now that I/O throttling is fully done on the BlockBackend level, there
is no reason any more to block I/O throttling for nodes with multiple
parents as the parents don't influence each other any more.

Conflicts:
        block.c

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


  Commit: cbe1beb7a1eaa34e0c24b4897395dac017e5d16f
      
https://github.com/qemu/qemu/commit/cbe1beb7a1eaa34e0c24b4897395dac017e5d16f
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: Don't check throttled reqs in bdrv_requests_pending()

Checking whether there are throttled requests requires going to the
associated BlockBackend, which we want to avoid.

All users of bdrv_requests_pending() in block/io.c already call
bdrv_parent_drained_begin() first, which restarts all throttled
requests, so no throttled requests can be left here and this is removal
of dead code.

The remaining users (assertions during graph manipulation in block.c)
don't care about requests that are still queued in the BlockBackend and
haven't been issued for a BlockDriverState yet.

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


  Commit: 5c8cab48087d3544cb788309ac729bca08244020
      
https://github.com/qemu/qemu/commit/5c8cab48087d3544cb788309ac729bca08244020
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

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

  Log Message:
  -----------
  block: Use BdrvChild callbacks for change_media/resize

We want to get rid of BlockDriverState.blk in order to allow multiple
BlockBackends per BDS. Converting the device callbacks in block.c (which
assume a single BlockBackend) to per-child callbacks gets us rid of the
first few instances.

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


  Commit: 4c265bf9f434d4b47f42e3c079adc205b7625ad6
      
https://github.com/qemu/qemu/commit/4c265bf9f434d4b47f42e3c079adc205b7625ad6
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

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

  Log Message:
  -----------
  block: User BdrvChild callback for device name

In order to get rid of bs->blk for bdrv_get_device_name() and
bdrv_get_device_or_node_name(), ask all parents for their name and
simply pick the first one.

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


  Commit: 81e254dc8349795d17c585a997f9076b77a863fc
      
https://github.com/qemu/qemu/commit/81e254dc8349795d17c585a997f9076b77a863fc
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M block/backup.c
    M block/mirror.c
    M block/stream.c
    M blockjob.c
    M include/block/blockjob.h

  Log Message:
  -----------
  blockjob: Don't set iostatus of target

When block job errors were introduced, we assigned the iostatus of the
target BDS "just in case". The field has never been accessible for the
user because the target isn't listed in query-block.

Before we can allow the user to have a second BlockBackend on the
target, we need to clean this up. If anything, we would want to set the
iostatus for the internal BB of the job (which we can always do later),
but certainly not for a separate BB which the job doesn't even use.

As a nice side effect, this gets us rid of another bs->blk use.

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


  Commit: 66a0fae438d2888f3b06cd7bd2795bb226956c05
      
https://github.com/qemu/qemu/commit/66a0fae438d2888f3b06cd7bd2795bb226956c05
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M block/backup.c
    M block/commit.c
    M block/mirror.c
    M block/stream.c

  Log Message:
  -----------
  blockjob: Don't touch BDS iostatus

Block jobs don't actually make use of the iostatus for their BDSes, but
they manage a separate block job iostatus. Still, they require that it
is enabled for the source BDS and they enable it automatically for the
target and set the error handling mode - which ends up never being used
by the job.

This patch removes all of the BDS iostatus handling from the block job,
which removes another few bs->blk accesses.

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


  Commit: 91c6e4b7bba906cfb8d84481da6340957f876c90
      
https://github.com/qemu/qemu/commit/91c6e4b7bba906cfb8d84481da6340957f876c90
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 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-io-cmds.c
    R tests/qemu-iotests/100
    R tests/qemu-iotests/100.out
    M tests/qemu-iotests/136
    M tests/qemu-iotests/136.out
    M tests/qemu-iotests/group
    M trace-events

  Log Message:
  -----------
  block: Remove bdrv_aio_multiwrite()

Since virtio-blk implements request merging itself these days, the only
remaining users are test cases for the function. That doesn't make the
function exactly useful any more.

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


  Commit: dde33812a83b9c55b180a85411bfc4d6c39e8b11
      
https://github.com/qemu/qemu/commit/dde33812a83b9c55b180a85411bfc4d6c39e8b11
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

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

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

In many cases we just want to know whether a BDS has at least one BB
attached, without needing to know the exact BB that is attached. In
contrast to bs->blk, this is still a valid question when more than one
BB can be attached, so just answer it by checking the parents list.

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


  Commit: 7c8eece45b10fc9b716850345118ed6fa8d17887
      
https://github.com/qemu/qemu/commit/7c8eece45b10fc9b716850345118ed6fa8d17887
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M block.c
    M block/block-backend.c
    M block/io.c
    M block/snapshot.c
    M blockdev.c
    M include/block/block.h
    M include/sysemu/block-backend.h
    M migration/block.c
    M monitor.c
    M qmp.c

  Log Message:
  -----------
  block: Avoid bs->blk in bdrv_next()

We need to introduce a separate BdrvNextIterator struct that can keep
more state than just the current BDS in order to avoid using the bs->blk
pointer.

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


  Commit: 79c719b755134da3dd2ba2a63a9a7db765f68e53
      
https://github.com/qemu/qemu/commit/79c719b755134da3dd2ba2a63a9a7db765f68e53
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

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

  Log Message:
  -----------
  block: Don't return throttling info in query-named-block-nodes

query-named-block-nodes should not return information that is related
to the attached BlockBackend rather than the node itself, so throttling
information needs to be removed from it.

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


  Commit: 1f0c461b82d5ec2664ca0cfc9548f80da87a8f8a
      
https://github.com/qemu/qemu/commit/1f0c461b82d5ec2664ca0cfc9548f80da87a8f8a
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M block.c
    M block/block-backend.c
    M block/mirror.c
    M blockdev.c
    M include/block/block_int.h

  Log Message:
  -----------
  block: Remove BlockDriverState.blk

This patch removes the remaining users of bs->blk, which will allow us
to have multiple BBs on top of a single BDS. In the meantime, all checks
that are currently in place to prevent the user from creating such
setups can be switched to bdrv_has_blk() instead of accessing BDS.blk.

Future patches can allow them and e.g. enable users to mirror to a block
device that already has a BlockBackend on it.

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


  Commit: b97511c7bc88bc487cacbfab349eb6023ae4f49b
      
https://github.com/qemu/qemu/commit/b97511c7bc88bc487cacbfab349eb6023ae4f49b
  Author: Max Reitz <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M block.c
    M block/blkverify.c
    M block/quorum.c
    M block/vmdk.c

  Log Message:
  -----------
  block: Propagate AioContext change to all children

Instead of propagating any change of a BDS's AioContext only to its file
and backing children and letting driver-specific code do the rest, just
propagate it to all and drop the thus superfluous implementations of
bdrv_{at,de}tach_aio_context() in Quorum, blkverify and VMDK.

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


  Commit: f575f145f4fa97fdbb9bbb4df62dfeada3f15dc4
      
https://github.com/qemu/qemu/commit/f575f145f4fa97fdbb9bbb4df62dfeada3f15dc4
  Author: Denis V. Lunev <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: fix condition in is_zero_cluster

We should check for (res & BDRV_BLOCK_ZERO) only. The situation when we
will have !(res & BDRV_BLOCK_DATA) and will not have BDRV_BLOCK_ZERO is
not possible for images with bdi.unallocated_blocks_are_zero == true.

For those images where it's false, however, it can happen and we must
not consider the data zeroed then or we would corrupt the image.

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


  Commit: 5efdf53227809a0da436dd63d7ed19c99044ecbd
      
https://github.com/qemu/qemu/commit/5efdf53227809a0da436dd63d7ed19c99044ecbd
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Fix write_zeroes with partially allocated backing file cluster

In order to correctly check whether a given cluster is read as zero, we
don't only need to check whether bdrv_get_block_status_above() sets
BDRV_BLOCK_ZERO, but also if all sectors for the whole cluster have the
same status.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Denis V. Lunev <address@hidden>


  Commit: 1ef7d010216b7d1046a3f6e31b49093addad01ce
      
https://github.com/qemu/qemu/commit/1ef7d010216b7d1046a3f6e31b49093addad01ce
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

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

  Log Message:
  -----------
  qemu-iotests: Some more write_zeroes tests

This covers some more write_zeroes cases which are relevant for the
recent qcow2 optimisations that check the allocation status of the
backing file for partial cluster write_zeroes requests.

This needs to be separate from 034 because we can only support qcow2 in
this test case for multiple reasons: We check the allocation status
after write_zeroes with 'qemu-img map' and the optimised behaviour that
produces zero clusters is only implemented in qcow2; second, the map
command returns offsets that are qcow2 specific; and finally, we also
use 512 byte clusters which aren't supported for formats like qed.

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


  Commit: 3a3086b72ab723de9e0ffd705d01b82a8a9f3e49
      
https://github.com/qemu/qemu/commit/3a3086b72ab723de9e0ffd705d01b82a8a9f3e49
  Author: John Snow <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M blockdev.c

  Log Message:
  -----------
  block: clarify error message for qmp-eject

If you use HMP's eject but the CDROM tray is locked, you may get a
confusing error message informing you that the "tray isn't open."

As this is the point of eject, we can do a little better and help
clarify that the tray was locked and that it (might) open up later,
so try again.

It's not ideal, but it makes the semantics of the (legacy) eject
command more understandable to end users when they try to use it.

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


  Commit: 4ca1d3401b834662efddd12bd62ad80f5ef1ef05
      
https://github.com/qemu/qemu/commit/4ca1d3401b834662efddd12bd62ad80f5ef1ef05
  Author: Eric Blake <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M qemu-io-cmds.c

  Log Message:
  -----------
  qemu-io: Fix recent UI updates

Commit 770e0e0e [*] tried to add 'writev -f', but didn't tweak
the getopt() call to actually let it work.  Likewise, commit
c2e001c missed implementing 'aio_write -u -z'.  The latter commit
also introduced a leak of ctx.

[*] does it sound "ech0e" in here? :)

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


  Commit: 9e28bb26c243c2c0ec96a900611f0658a0665b43
      
https://github.com/qemu/qemu/commit/9e28bb26c243c2c0ec96a900611f0658a0665b43
  Author: Eric Blake <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

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

  Log Message:
  -----------
  qemu-iotests: Simplify 109 with unaligned qemu-img compare

For some time now, qemu-img compare has been able to compare
unaligned images.  So we no longer need test 109's hack of
resizing to sector boundaries before invoking compare.

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


  Commit: 37546ff28fb89744ebf2223db22cbc253592abe1
      
https://github.com/qemu/qemu/commit/37546ff28fb89744ebf2223db22cbc253592abe1
  Author: Eric Blake <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M qemu-io-cmds.c
    M tests/qemu-iotests/136

  Log Message:
  -----------
  qemu-iotests: Fix regression in 136 on aio_read invalid

Commit 093ea232 removed the ability for aio_read and aio_write
to artificially inflate the invalid statistics counters for
block devices, since it no longer flags unaligned offset or
length.  Add 'aio_read -i' and 'aio_write -i' to restore
the ability, and update test 136 to use it.

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


  Commit: 7753da2351e0b0ff6825d080aff58d73c994ff47
      
https://github.com/qemu/qemu/commit/7753da2351e0b0ff6825d080aff58d73c994ff47
  Author: Kevin Wolf <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M qemu-io-cmds.c
    M tests/qemu-iotests/109
    M tests/qemu-iotests/109.out
    M tests/qemu-iotests/136

  Log Message:
  -----------
  Merge remote-tracking branch 'mreitz/tags/pull-block-for-kevin-2016-05-19' 
into queue-block

Block patches

# gpg: Signature made Thu May 19 16:58:53 2016 CEST using RSA key ID E838ACAD
# gpg: Good signature from "Max Reitz <address@hidden>"

* mreitz/tags/pull-block-for-kevin-2016-05-19:
  qemu-iotests: Fix regression in 136 on aio_read invalid
  qemu-iotests: Simplify 109 with unaligned qemu-img compare
  qemu-io: Fix recent UI updates

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


  Commit: 6bd8ab6889f45a42d69a3a65a4d6e7fc2453c84c
      
https://github.com/qemu/qemu/commit/6bd8ab6889f45a42d69a3a65a4d6e7fc2453c84c
  Author: Peter Maydell <address@hidden>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M block.c
    M block/backup.c
    M block/blkverify.c
    M block/block-backend.c
    M block/commit.c
    M block/io.c
    M block/mirror.c
    M block/qapi.c
    M block/qcow2.c
    M block/quorum.c
    M block/snapshot.c
    M block/stream.c
    M block/throttle-groups.c
    M block/vmdk.c
    M blockdev.c
    M blockjob.c
    M include/block/block.h
    M include/block/block_int.h
    M include/block/blockjob.h
    M include/block/throttle-groups.h
    M include/sysemu/block-backend.h
    M migration/block.c
    M monitor.c
    M qemu-io-cmds.c
    M qmp.c
    M tests/qemu-iotests/096
    R tests/qemu-iotests/100
    R tests/qemu-iotests/100.out
    M tests/qemu-iotests/109
    M tests/qemu-iotests/109.out
    M tests/qemu-iotests/136
    M tests/qemu-iotests/136.out
    A tests/qemu-iotests/154
    A tests/qemu-iotests/154.out
    M tests/qemu-iotests/group
    M tests/test-throttle.c
    M trace-events

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

Block layer patches

# gpg: Signature made Thu 19 May 2016 16:09:27 BST using RSA key ID C88F2FD6
# gpg: Good signature from "Kevin Wolf <address@hidden>"

* remotes/kevin/tags/for-upstream: (31 commits)
  qemu-iotests: Fix regression in 136 on aio_read invalid
  qemu-iotests: Simplify 109 with unaligned qemu-img compare
  qemu-io: Fix recent UI updates
  block: clarify error message for qmp-eject
  qemu-iotests: Some more write_zeroes tests
  qcow2: Fix write_zeroes with partially allocated backing file cluster
  qcow2: fix condition in is_zero_cluster
  block: Propagate AioContext change to all children
  block: Remove BlockDriverState.blk
  block: Don't return throttling info in query-named-block-nodes
  block: Avoid bs->blk in bdrv_next()
  block: Add bdrv_has_blk()
  block: Remove bdrv_aio_multiwrite()
  blockjob: Don't touch BDS iostatus
  blockjob: Don't set iostatus of target
  block: User BdrvChild callback for device name
  block: Use BdrvChild callbacks for change_media/resize
  block: Don't check throttled reqs in bdrv_requests_pending()
  Revert "block: Forbid I/O throttling on nodes with multiple parents for 2.6"
  block: Remove bdrv_move_feature_fields()
  ...

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


Compare: https://github.com/qemu/qemu/compare/776efef32439...6bd8ab6889f4

reply via email to

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