qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] dc71ce: blockjob: Add block_job_yield()


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] dc71ce: blockjob: Add block_job_yield()
Date: Sun, 29 Jun 2014 08:30:05 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: dc71ce45ded4e872e25c2de32d5e7a71842b0985
      
https://github.com/qemu/qemu/commit/dc71ce45ded4e872e25c2de32d5e7a71842b0985
  Author: Fam Zheng <address@hidden>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

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

  Log Message:
  -----------
  blockjob: Add block_job_yield()

This will unset busy flag and put coroutine to sleep, can be used to
wait for QMP complete/cancel.

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


  Commit: 9e48b025400b2d284e17860862b0a4aa02c6032d
      
https://github.com/qemu/qemu/commit/9e48b025400b2d284e17860862b0a4aa02c6032d
  Author: Fam Zheng <address@hidden>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M block/mirror.c

  Log Message:
  -----------
  mirror: Go through ready -> complete process for 0 len image

When mirroring or active committing a zero length image, BLOCK_JOB_READY
is not reported now, instead the job completes because we short circuit
the mirror job loop.

This is inconsistent with non-zero length images, and only confuses
management software.

Let's do the same thing when seeing a 0-length image: report ready
immediately; wait for block-job-cancel or block-job-complete; clear the
cancel flag as existing non-zero image synced case (cancelled after
ready); then jump to the exit.

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


  Commit: 8b9a30ca5bc10545637429486836f3c206c39fab
      
https://github.com/qemu/qemu/commit/8b9a30ca5bc10545637429486836f3c206c39fab
  Author: Fam Zheng <address@hidden>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

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

  Log Message:
  -----------
  qemu-iotests: Test BLOCK_JOB_READY event for 0Kb image active commit

There should be a BLOCK_JOB_READY event with active commit, regardless
of image length. Let's test the 0 length image case, and make sure it
goes through the ready->complete process.

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


  Commit: 3b9f27d2b34cb8c5cc6cec993712c7e1943e9de9
      
https://github.com/qemu/qemu/commit/3b9f27d2b34cb8c5cc6cec993712c7e1943e9de9
  Author: Fam Zheng <address@hidden>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

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

  Log Message:
  -----------
  qemu-iotests: Test 0-length image for mirror

All behavior and invariant should hold for images with 0 length, so
add a class to repeat all the tests in TestSingleDrive.

Hide two unapplicable test methods that would fail with 0 image length
because it's also used as cluster size.

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


  Commit: 7c24384b3b984f0256ba10eb26d877ec28985019
      
https://github.com/qemu/qemu/commit/7c24384b3b984f0256ba10eb26d877ec28985019
  Author: Peter Lieven <address@hidden>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M block/nfs.c

  Log Message:
  -----------
  block/nfs: fix url parameter checking

this patch fixes the incorrect usage of strncmp and
adds simple error checking by means of parse_uint_full
instead of atoi for the supplied URL parameters.

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


  Commit: f42ca3cad10f74777481c201722b598763e1771c
      
https://github.com/qemu/qemu/commit/f42ca3cad10f74777481c201722b598763e1771c
  Author: Peter Lieven <address@hidden>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M block/nfs.c

  Log Message:
  -----------
  block/nfs: add knob to set readahead

upcoming libnfs will feature internal readahead support.
Add a knob to pass the optional readahead value as a URL
parameter.

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


  Commit: f54120ff1aa030d96ee64aefef9898e9e80b3a71
      
https://github.com/qemu/qemu/commit/f54120ff1aa030d96ee64aefef9898e9e80b3a71
  Author: Kevin Wolf <address@hidden>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Create bdrv_fill_options()

The idea of bdrv_fill_options() is to convert every parameter for
opening images, in particular the filename and flags, to entries in the
options QDict.

This patch starts with moving the filename parsing and driver probing
part from bdrv_file_open() to the new function.

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


  Commit: 462f5bcf69d3cae4a93ad55bee59516c15236a55
      
https://github.com/qemu/qemu/commit/462f5bcf69d3cae4a93ad55bee59516c15236a55
  Author: Kevin Wolf <address@hidden>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Move bdrv_fill_options() call to bdrv_open()

bs->options now contains the modified version of the options.

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


  Commit: 5e5c4f63f4a7f48f571ea5671bf8452fe9655cdd
      
https://github.com/qemu/qemu/commit/5e5c4f63f4a7f48f571ea5671bf8452fe9655cdd
  Author: Kevin Wolf <address@hidden>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Move json: parsing to bdrv_fill_options()

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


  Commit: 17b005f1d422d4581f8ce95b75d603deb081f4f3
      
https://github.com/qemu/qemu/commit/17b005f1d422d4581f8ce95b75d603deb081f4f3
  Author: Kevin Wolf <address@hidden>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

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

  Log Message:
  -----------
  block: Always pass driver name through options QDict

The "driver" entry in the options QDict is now only missing if we're
opening an image with format probing.

We also catch cases now where both the drv argument and a "driver"
option is specified, e.g. by specifying -drive format=qcow2,driver=raw

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


  Commit: f4788adcb4903e20dadc5455d3d69d0a481f35e4
      
https://github.com/qemu/qemu/commit/f4788adcb4903e20dadc5455d3d69d0a481f35e4
  Author: Kevin Wolf <address@hidden>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Use common driver selection code for bdrv_open_file()

This moves the bdrv_open_file() call a bit down so that it can use the
bdrv_open() code that selects the right block driver.

The code between the old and the new call site is either common code
(the error message for an unknown driver has been unified now) or
doesn't run with cleared BDRV_O_PROTOCOL (added an if block in one
place, whereas the right path was already asserted in another place)

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


  Commit: b348f3311c1c54ab4abfd7958176ce5ec6407543
      
https://github.com/qemu/qemu/commit/b348f3311c1c54ab4abfd7958176ce5ec6407543
  Author: Kevin Wolf <address@hidden>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Inline bdrv_file_open()

It doesn't do much any more, we can move the code to bdrv_open() now.

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


  Commit: 76c591b013782217cad67b35c74cd249e0413439
      
https://github.com/qemu/qemu/commit/76c591b013782217cad67b35c74cd249e0413439
  Author: Kevin Wolf <address@hidden>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Remove second bdrv_open() recursion

This recursion was introduced in commit 505d7583 in order to allow
nesting image formats. It only ever takes effect when the user
explicitly specifies a driver name and that driver isn't suitable for
the protocol level.

We can check this earlier in bdrv_open() and if the explicitly
requested driver is a format driver, clear BDRV_O_PROTOCOL so that
another bs->file layer is opened.

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


  Commit: 8ee79e707a005c9274df7ce34265bb7d008b8cef
      
https://github.com/qemu/qemu/commit/8ee79e707a005c9274df7ce34265bb7d008b8cef
  Author: Kevin Wolf <address@hidden>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M block.c
    M block/cow.c
    M block/qcow.c
    M block/qcow2.c
    M block/qed.c
    M block/vmdk.c
    M include/block/block_int.h
    M tests/qemu-iotests/051
    M tests/qemu-iotests/051.out

  Log Message:
  -----------
  block: Catch backing files assigned to non-COW drivers

Since we parse backing.* options to add a backing file from the command
line when the driver didn't assign one, it has been possible to have a
backing file for e.g. raw images (it just was never accessed).

This is obvious nonsense and should be rejected.

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


  Commit: 20cca275c6190ca0027cf7dd369ba985e44a6537
      
https://github.com/qemu/qemu/commit/20cca275c6190ca0027cf7dd369ba985e44a6537
  Author: Kevin Wolf <address@hidden>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Remove a special case for protocols

The only semantic change is that bs->open_flags gets BDRV_O_PROTOCOL set
now. This isn't useful, but it doesn't hurt either. The code that was
previously skipped by 'goto done' is automatically disabled because
protocol drivers don't support backing files (and if they did, this
would probably be a fix) and can't have snapshot_flags set.

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


  Commit: a760715095e9cda6eb97486c040aa35f82297945
      
https://github.com/qemu/qemu/commit/a760715095e9cda6eb97486c040aa35f82297945
  Author: Michal Privoznik <address@hidden>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M util/qemu-option.c

  Log Message:
  -----------
  qemu_opts_append: Play nicely with QemuOptsList's head

When running a libvirt test suite I've noticed the qemu-img is
crashing occasionally. Tracing the problem down led me to the
following valgrind output:

qemu.git $ valgrind -q ./qemu-img create -f qed 
-obacking_file=/dev/null,backing_fmt=raw qed
==14881== Invalid write of size 8
==14881==    at 0x1D263F: qemu_opts_create (qemu-option.c:692)
==14881==    by 0x130782: bdrv_img_create (block.c:5531)
==14881==    by 0x118DE0: img_create (qemu-img.c:462)
==14881==    by 0x11E7E4: main (qemu-img.c:2830)
==14881==  Address 0x11fedd38 is 24 bytes inside a block of size 232 free'd
==14881==    at 0x4C2CA5E: realloc (in 
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==14881==    by 0x592D35E: g_realloc (in /usr/lib64/libglib-2.0.so.0.3800.2)
==14881==    by 0x1D38D8: qemu_opts_append (qemu-option.c:1129)
==14881==    by 0x13075E: bdrv_img_create (block.c:5528)
==14881==    by 0x118DE0: img_create (qemu-img.c:462)
==14881==    by 0x11E7E4: main (qemu-img.c:2830)
==14881==
Formatting 'qed', fmt=qed size=0 backing_file='/dev/null' backing_fmt='raw' 
cluster_size=65536
==14881== Invalid write of size 8
==14881==    at 0x1D28BE: qemu_opts_del (qemu-option.c:750)
==14881==    by 0x130BF3: bdrv_img_create (block.c:5638)
==14881==    by 0x118DE0: img_create (qemu-img.c:462)
==14881==    by 0x11E7E4: main (qemu-img.c:2830)
==14881==  Address 0x11fedd38 is 24 bytes inside a block of size 232 free'd
==14881==    at 0x4C2CA5E: realloc (in 
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==14881==    by 0x592D35E: g_realloc (in /usr/lib64/libglib-2.0.so.0.3800.2)
==14881==    by 0x1D38D8: qemu_opts_append (qemu-option.c:1129)
==14881==    by 0x13075E: bdrv_img_create (block.c:5528)
==14881==    by 0x118DE0: img_create (qemu-img.c:462)
==14881==    by 0x11E7E4: main (qemu-img.c:2830)
==14881==

The problem is apparently in the qemu_opts_append(). Well, if it
gets called twice or more. On the first call, when @dst is NULL
some initialization is done during which @dst->head list gets
initialized. The list is initialized in a way, so that the list
tail points at the list head. However, the next time
qemu_opts_append() is called for new options to be added,
g_realloc() may move @dst to a new address making the old list tail
point at an invalid address. If that's the case, we must update the
list pointers.

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


  Commit: 9c75e168bc388094c04aabb6fc59c91abe06e81c
      
https://github.com/qemu/qemu/commit/9c75e168bc388094c04aabb6fc59c91abe06e81c
  Author: Jeff Cody <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M block.c
    M blockdev.c

  Log Message:
  -----------
  block: check for RESIZE blocker in the QMP command, not bdrv_truncate()

If we check for the RESIZE blocker in bdrv_truncate(), that means a
commit will fail if the overlay layer is larger than the base, due to
the backing blocker.

This is a regression in behavior from 2.0; currently, commit will try to
grow the size of the base image to match the overlay size, if the
overlay size is larger.

By moving this into the QMP command qmp_block_resize(), it allows
usage of bdrv_truncate() within block jobs.

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


  Commit: d1fde4ad3c22137f8e589e625c21bf2ea7f6ba62
      
https://github.com/qemu/qemu/commit/d1fde4ad3c22137f8e589e625c21bf2ea7f6ba62
  Author: Jeff Cody <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

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

  Log Message:
  -----------
  block: add qemu-iotest for resize base during live commit

If 'base' is smaller than the overlay image being committed into it,
then the base image will be grown in commit_run via bdrv_truncate().

This tests to make sure that this works, and the bdrv_truncate() is
not blocked when it shouldn't be.

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


  Commit: cf29a570a7aa7abab66bf256fdf9540873590811
      
https://github.com/qemu/qemu/commit/cf29a570a7aa7abab66bf256fdf9540873590811
  Author: Benoît Canet <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M block/quorum.c
    M qapi/block-core.json
    M tests/qemu-iotests/081
    M tests/qemu-iotests/081.out

  Log Message:
  -----------
  quorum: Add the rewrite-corrupted parameter to quorum

On read operations when this parameter is set and some replicas are corrupted
while quorum can be reached quorum will proceed to rewrite the correct version
of the data to fix the corrupted replicas.

This will shine with SSD where the FTL will remap the same block at another
place on rewrite.

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


  Commit: 4c828dc61a0d729ae9bfa6fdee55558314135737
      
https://github.com/qemu/qemu/commit/4c828dc61a0d729ae9bfa6fdee55558314135737
  Author: Benoît Canet <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

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

  Log Message:
  -----------
  block: Add node-name argument to drive-mirror

This new argument can be used to specify the node-name of the new mirrored BDS.

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


  Commit: 09f645877037590415016b59f6d32be1a27229c6
      
https://github.com/qemu/qemu/commit/09f645877037590415016b59f6d32be1a27229c6
  Author: Fam Zheng <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M hw/block/virtio-blk.c
    M include/hw/virtio/virtio-blk.h

  Log Message:
  -----------
  virtio-blk: Move VirtIOBlockReq to header

For later reusing by dataplane code.

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


  Commit: 671ec3f056559f22a2531a91dce3a258b9b5eb8a
      
https://github.com/qemu/qemu/commit/671ec3f056559f22a2531a91dce3a258b9b5eb8a
  Author: Fam Zheng <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M hw/block/virtio-blk.c
    M include/hw/virtio/virtio-blk.h

  Log Message:
  -----------
  virtio-blk: Convert VirtIOBlockReq.elem to pointer

This will make converging with dataplane code easier.

Add virtio_blk_free_request to handle the freeing of request internal
fields.

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


  Commit: 0bcb34472db7b9b007415151a1f7a3d495b31f28
      
https://github.com/qemu/qemu/commit/0bcb34472db7b9b007415151a1f7a3d495b31f28
  Author: Fam Zheng <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M hw/block/dataplane/virtio-blk.c

  Log Message:
  -----------
  virtio-blk: Drop bounce buffer from dataplane code

The block layer will handle the unaligned request.

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


  Commit: 98e2d49241cb474a9fdd26852cbdbbcf67f18d54
      
https://github.com/qemu/qemu/commit/98e2d49241cb474a9fdd26852cbdbbcf67f18d54
  Author: Fam Zheng <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M hw/block/dataplane/virtio-blk.c

  Log Message:
  -----------
  virtio-blk: Drop VirtIOBlockRequest.read

Since it's set but not used.

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


  Commit: 04af2d70c58136be57d798ad684e1924dcde93f5
      
https://github.com/qemu/qemu/commit/04af2d70c58136be57d798ad684e1924dcde93f5
  Author: Fam Zheng <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M hw/block/dataplane/virtio-blk.c
    M include/hw/virtio/virtio-blk.h

  Log Message:
  -----------
  virtio-blk: Replace VirtIOBlockRequest with VirtIOBlockReq

Field "inhdr" is added temporarily for a more mechanical change, and
will be dropped in the next commit.

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


  Commit: eddb102e86f61d4b71877f8ac268ebc4bf7265bf
      
https://github.com/qemu/qemu/commit/eddb102e86f61d4b71877f8ac268ebc4bf7265bf
  Author: Fam Zheng <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M hw/block/dataplane/virtio-blk.c
    M include/hw/virtio/virtio-blk.h

  Log Message:
  -----------
  virtio-blk: Use VirtIOBlockReq.in to drop VirtIOBlockReq.inhdr

In current virtio spec, inhdr is a single byte, and is unlikely to
change for both functionality and compatibility considerations.
Non-dataplane uses .in, and we are on the way to converge them. So
let's unify it to get cleaner code.

Remove .inhdr and use .in.

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


  Commit: 827805a2492c1bbf1c0712ed18ee069b4ebf3dd6
      
https://github.com/qemu/qemu/commit/827805a2492c1bbf1c0712ed18ee069b4ebf3dd6
  Author: Fam Zheng <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M hw/block/virtio-blk.c
    M include/hw/virtio/virtio-blk.h

  Log Message:
  -----------
  virtio-blk: Convert VirtIOBlockReq.out to structrue

The virtio code currently assumes that the outhdr is in its own iovec.
This is not guaranteed by the spec, so we should relax this assumption.

Convert the VirtIOBlockReq.out field to structrue so that we can use
iov_to_buf and then discard the header from the beginning of iovec.

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


  Commit: ab2e3cd2dc97ad87fcdfb814a13b2ef386a5f13a
      
https://github.com/qemu/qemu/commit/ab2e3cd2dc97ad87fcdfb814a13b2ef386a5f13a
  Author: Fam Zheng <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M hw/block/dataplane/virtio-blk.c

  Log Message:
  -----------
  virtio-blk: Fill in VirtIOBlockReq.out in dataplane code

VirtIOBlockReq is allocated in process_request, and freed in command
functions.

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


  Commit: ee17e84830e2e7030d57db5b415719e9022573cd
      
https://github.com/qemu/qemu/commit/ee17e84830e2e7030d57db5b415719e9022573cd
  Author: Fam Zheng <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M hw/block/virtio-blk.c

  Log Message:
  -----------
  virtio-blk: Fix and clean up the in_sg and out_sg check

out_sg is checked by iov_to_buf below, so it can be dropped.

Add assert and iov_discard_back around in_sg, as the in_sg is handled in
dataplane code.

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


  Commit: ac46821f2c6eb0617ac911daff111cbc30a4c40c
      
https://github.com/qemu/qemu/commit/ac46821f2c6eb0617ac911daff111cbc30a4c40c
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

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

  Log Message:
  -----------
  block: make bdrv_query_stats() static

This function is only called from block/qapi.c.  There is no need to
keep it public.

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


  Commit: 13344f3a17e0a785c0eb8e36f69518f21aa8a91a
      
https://github.com/qemu/qemu/commit/13344f3a17e0a785c0eb8e36f69518f21aa8a91a
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M block/qapi.c

  Log Message:
  -----------
  block: acquire AioContext in qmp_query_blockstats()

Make query-blockstats safe for dataplane by acquiring the
BlockDriverState's AioContext.  This ensures that the dataplane IOThread
and the main loop's monitor code do not race.

Note the assumption that acquiring the drive's BDS AioContext also
protects ->file and ->backing_hd.  This assumption is made by other
aio_context_acquire() callers too.

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


  Commit: bf4bd461b43d90c5af30f61f740c1bb675849ab9
      
https://github.com/qemu/qemu/commit/bf4bd461b43d90c5af30f61f740c1bb675849ab9
  Author: Fam Zheng <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M hw/block/virtio-blk.c
    M include/hw/virtio/virtio-blk.h

  Log Message:
  -----------
  virtio-blk: Make request completion function virtual

virtio_blk_req_complete will call VirtIOBlock.complete_request() to push
data and notify guest. No functional change.

Later, this will allow dataplane to provide it's own (vring_) version.

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


  Commit: fee65db77181e6697745b313906bc4fdb30d2ff9
      
https://github.com/qemu/qemu/commit/fee65db77181e6697745b313906bc4fdb30d2ff9
  Author: Fam Zheng <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M hw/block/virtio-blk.c
    M include/hw/virtio/virtio-blk.h

  Log Message:
  -----------
  virtio-blk: Export request handling functions to dataplane

So that dataplane can use virtio_blk_handle_request and
virtio_submit_multiwrite.

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


  Commit: 4407c1c56adb0d3ef2bcbf577592d72278d6e11f
      
https://github.com/qemu/qemu/commit/4407c1c56adb0d3ef2bcbf577592d72278d6e11f
  Author: Fam Zheng <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M hw/block/virtio-blk.c

  Log Message:
  -----------
  virtio-blk: Schedule BH in the right context

The BH must be called in the AioContext of bs. Currently it is only the
main loop, but with coming changes, it could also be a dataplane
IOThread.

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


  Commit: b002254dbd4c19a01f29790f840f983803e26893
      
https://github.com/qemu/qemu/commit/b002254dbd4c19a01f29790f840f983803e26893
  Author: Fam Zheng <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M hw/block/dataplane/virtio-blk.c

  Log Message:
  -----------
  virtio-blk: Unify {non-,}dataplane's request handlings

This drops request handling code from dataplane, and uses code from
hw/block/virtio-blk.c.

It starts to use multiwrite as non-dataplane does.

Dataplane sets VirtIOBlock.complete_request to vring version, and calls
into non-dataplane's process handling. In complete_request_early,
qiov.size is added to vring push length, because it's also called in rw
completion now.

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


  Commit: d64c60a75fde0fc40f7c97acbc972dea59db0162
      
https://github.com/qemu/qemu/commit/d64c60a75fde0fc40f7c97acbc972dea59db0162
  Author: Fam Zheng <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M hw/block/dataplane/virtio-blk.c

  Log Message:
  -----------
  virtio-blk: Rename complete_request_early to complete_request_vring

The old name is misleading in its new usage, so rename it.

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


  Commit: 518848a214ff67bbaea087552a709afde4f88fa5
      
https://github.com/qemu/qemu/commit/518848a214ff67bbaea087552a709afde4f88fa5
  Author: Markus Armbruster <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

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

  Log Message:
  -----------
  blockjob: Fix recent BLOCK_JOB_READY regression

Commit bcada37 dropped the (up to now undocumented) members type, len,
offset, speed, breaking tests/qemu-iotests/040 and 041.

Restore and document them.  This fixes 040, and partially fixes 041.

Signed-off-by: Markus Armbruster <address@hidden>
Tested-By: Benoit Canet <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 823c686356e6758bacb46d3a316b841536d6d707
      
https://github.com/qemu/qemu/commit/823c686356e6758bacb46d3a316b841536d6d707
  Author: Markus Armbruster <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

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

  Log Message:
  -----------
  blockjob: Fix recent BLOCK_JOB_ERROR regression

Commit 5a2d2cb screwed up the the value of members device and action,
breaking tests/qemu-iotests/041.

Signed-off-by: Markus Armbruster <address@hidden>
Tested-By: Benoit Canet <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Reviewed-by: Luiz Capitulino <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 09158f00e0fdb506dcbf36f67c615b7f6c604c5a
      
https://github.com/qemu/qemu/commit/09158f00e0fdb506dcbf36f67c615b7f6c604c5a
  Author: Benoît Canet <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

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

  Log Message:
  -----------
  block: Add replaces argument to drive-mirror

drive-mirror will bdrv_swap the new BDS named node-name with the one
pointed by replaces when the mirroring is finished.

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


  Commit: d88964aeda6cfc44585fe35c97c37537235c0a96
      
https://github.com/qemu/qemu/commit/d88964aeda6cfc44585fe35c97c37537235c0a96
  Author: Benoît Canet <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

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

  Log Message:
  -----------
  qemu-iotests: Add TestRepairQuorum to 041 to test drive-mirror node-name mode.

The to-replace-node-name is designed to allow repairing a broken Quorum file.
This patch introduces a new class TestRepairQuorum testing that the feature
works.
Some further work will be done on QEMU to improve the robustness of the tests.

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


  Commit: 6b8aeca574a15668c47296d8e0c4f96c72e63c36
      
https://github.com/qemu/qemu/commit/6b8aeca574a15668c47296d8e0c4f96c72e63c36
  Author: Chen Gang <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

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

  Log Message:
  -----------
  block.c: Don't return success for bdrv_append_temp_snapshot() failure

When failure occurs, 'ret' need be set, or may return 0 to indicate
success. Previously, an error was set in errp, but 0 was returned
anyway. So let bdrv_append_temp_snapshot() return an error code and
use that for the bdrv_open() return value.

Also, error_propagate() need be called only one time within a function.

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


  Commit: e8f8624d3b920de968c56e76691f419b16d1ee4a
      
https://github.com/qemu/qemu/commit/e8f8624d3b920de968c56e76691f419b16d1ee4a
  Author: Max Reitz <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

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

  Log Message:
  -----------
  iotests: Allow out-of-tree run

As out-of-tree builds are preferred for qemu, running the qemu-iotests
in that out-of-tree build should be supported as well. To do so, a
symbolic link has to be created pointing to the check script in the
source directory. That script will check whether it has been run through
a symlink, and if so, will assume it is run in the build tree. All
output and temporary operations performed by iotests are then redirected
here and, unless specified otherwise by the user, QEMU_PROG etc. will be
set to paths appropriate for the build tree.

Also, drop making every test case executable if it is not yet, as this
would modify the source tree which is not desired for out-of-tree runs
and should be fixed in the repository anyway.

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


  Commit: 76c7560ae7ad088d106ef05439ca6520b096d43e
      
https://github.com/qemu/qemu/commit/76c7560ae7ad088d106ef05439ca6520b096d43e
  Author: Max Reitz <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: Enable out-of-tree iotests

In order to allow out-of-tree iotests, create a symlink for the check
script in the build tree.

While doing so, also write configured options relevant to the iotests to
common.env in the build tree; currently, this is the command to invoke
Python 2.

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


  Commit: 7fed1a49ff72a5b794e3723612fa1731844b38f7
      
https://github.com/qemu/qemu/commit/7fed1a49ff72a5b794e3723612fa1731844b38f7
  Author: Max Reitz <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M tests/qemu-iotests/check

  Log Message:
  -----------
  iotests: Source common.env

Source common.env in the iotests' check script.

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


  Commit: ea81ca9de1354e9f42c4e09ead2af1b4d010bdde
      
https://github.com/qemu/qemu/commit/ea81ca9de1354e9f42c4e09ead2af1b4d010bdde
  Author: Max Reitz <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M tests/qemu-iotests/031
    M tests/qemu-iotests/036
    M tests/qemu-iotests/039
    M tests/qemu-iotests/054
    M tests/qemu-iotests/060
    M tests/qemu-iotests/061
    M tests/qemu-iotests/083
    M tests/qemu-iotests/check

  Log Message:
  -----------
  iotests: Use $PYTHON for Python scripts

Instead of invoking Python scripts directly via ./, use $PYTHON to
obtain the correct Python interpreter command.

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


  Commit: f99b4b5d7e53e85552892cdf6c7d2c3c86d409f8
      
https://github.com/qemu/qemu/commit/f99b4b5d7e53e85552892cdf6c7d2c3c86d409f8
  Author: Max Reitz <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M tests/qemu-iotests/065

  Log Message:
  -----------
  iotests: Drop Python version from 065's Shebang

Test 065 specified python2 to be used in its Shebang; this might not
work on systems without a python2 symlink and furthermore it is now
counter-productive, as the check script compares the Shebang to
"#!/usr/bin/env python" and only uses the Python interpreter selected by
configure on an exact match.

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


  Commit: f5264553c381c5f305d6e11bef18da6a29f3f423
      
https://github.com/qemu/qemu/commit/f5264553c381c5f305d6e11bef18da6a29f3f423
  Author: Max Reitz <address@hidden>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M tests/qemu-iotests/083

  Log Message:
  -----------
  iotests: Fix 083 for out-of-tree builds

iotest 083 filters out debug messages from nbd, which are prefixed (and
recognized) by __FILE__. However, the current filter (/^nbd\.c…/) is
valid for in-tree builds only, as out-of-tree builds will have a path
before that filename (e.g. "/tmp/qemu/nbd.c"). Fix this by adding .*
before "nbd\.c".

While working on this, also fix the regexes: '.' should be escaped and a
single backslash is not enough for escaping when enclosed by double
quotes.

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


  Commit: 2d40fa6987e26a4273ca8c57487e8bd61f409cc4
      
https://github.com/qemu/qemu/commit/2d40fa6987e26a4273ca8c57487e8bd61f409cc4
  Author: Peter Maydell <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M block.c
    M block/cow.c
    M block/mirror.c
    M block/nfs.c
    M block/qapi.c
    M block/qcow.c
    M block/qcow2.c
    M block/qed.c
    M block/quorum.c
    M block/vmdk.c
    M blockdev.c
    M blockjob.c
    M configure
    M hmp.c
    M hw/block/dataplane/virtio-blk.c
    M hw/block/virtio-blk.c
    M include/block/block.h
    M include/block/block_int.h
    M include/block/blockjob.h
    M include/block/qapi.h
    M include/hw/virtio/virtio-blk.h
    M qapi/block-core.json
    M qmp-commands.hx
    M tests/qemu-iotests/031
    M tests/qemu-iotests/036
    M tests/qemu-iotests/039
    M tests/qemu-iotests/040
    M tests/qemu-iotests/040.out
    M tests/qemu-iotests/041
    M tests/qemu-iotests/041.out
    M tests/qemu-iotests/051
    M tests/qemu-iotests/051.out
    M tests/qemu-iotests/054
    M tests/qemu-iotests/060
    M tests/qemu-iotests/061
    M tests/qemu-iotests/065
    M tests/qemu-iotests/081
    M tests/qemu-iotests/081.out
    M tests/qemu-iotests/083
    A tests/qemu-iotests/095
    A tests/qemu-iotests/095.out
    M tests/qemu-iotests/check
    M tests/qemu-iotests/common
    M tests/qemu-iotests/common.config
    M tests/qemu-iotests/common.rc
    M tests/qemu-iotests/group
    M tests/qemu-iotests/iotests.py
    M util/qemu-option.c

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

Block patches for 2.1.0-rc0

# gpg: Signature made Fri 27 Jun 2014 19:50:32 BST using RSA key ID C88F2FD6
# gpg: Good signature from "Kevin Wolf <address@hidden>"

* remotes/kevin/tags/for-upstream: (47 commits)
  iotests: Fix 083 for out-of-tree builds
  iotests: Drop Python version from 065's Shebang
  iotests: Use $PYTHON for Python scripts
  iotests: Source common.env
  configure: Enable out-of-tree iotests
  iotests: Allow out-of-tree run
  block.c: Don't return success for bdrv_append_temp_snapshot() failure
  qemu-iotests: Add TestRepairQuorum to 041 to test drive-mirror node-name mode.
  block: Add replaces argument to drive-mirror
  blockjob: Fix recent BLOCK_JOB_ERROR regression
  blockjob: Fix recent BLOCK_JOB_READY regression
  virtio-blk: Rename complete_request_early to complete_request_vring
  virtio-blk: Unify {non-,}dataplane's request handlings
  virtio-blk: Schedule BH in the right context
  virtio-blk: Export request handling functions to dataplane
  virtio-blk: Make request completion function virtual
  block: acquire AioContext in qmp_query_blockstats()
  block: make bdrv_query_stats() static
  virtio-blk: Fix and clean up the in_sg and out_sg check
  virtio-blk: Fill in VirtIOBlockReq.out in dataplane code
  ...

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


Compare: https://github.com/qemu/qemu/compare/ac8076ac8638...2d40fa6987e2

reply via email to

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