qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] be07a8: block: Use blk_co_flush() for all BB


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] be07a8: block: Use blk_co_flush() for all BB level flushes
Date: Fri, 28 Oct 2016 06:30:03 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: be07a889816b72c6e73b7649afe563590156ff9c
      
https://github.com/qemu/qemu/commit/be07a889816b72c6e73b7649afe563590156ff9c
  Author: Kevin Wolf <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

  Changed paths:
    M block/block-backend.c

  Log Message:
  -----------
  block: Use blk_co_flush() for all BB level flushes

All read/write functions already have a single coroutine-based function
on the BlockBackend level through which all requests go (no matter what
API style the external caller used) and which passes the requests down
to the block node level.

This patch extends this mode of operation to flushes.

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


  Commit: 8c2e3dd55f54ba00fd0893a535c09b5fcd7a877b
      
https://github.com/qemu/qemu/commit/8c2e3dd55f54ba00fd0893a535c09b5fcd7a877b
  Author: Kevin Wolf <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

  Changed paths:
    M block/block-backend.c

  Log Message:
  -----------
  block: Use blk_co_pdiscard() for all BB level discard

All read/write functions already have a single coroutine-based function
on the BlockBackend level through which all requests go (no matter what
API style the external caller used) and which passes the requests down
to the block node level.

This patch extends this mode of operation to discards.

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


  Commit: 7381e95cc2c33b589c94a857dff21bf2016a08b7
      
https://github.com/qemu/qemu/commit/7381e95cc2c33b589c94a857dff21bf2016a08b7
  Author: Kevin Wolf <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

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

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

It is unused now.

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


  Commit: 48af776a5b85ad2dc6124d3d0fb210ca6b98d32c
      
https://github.com/qemu/qemu/commit/48af776a5b85ad2dc6124d3d0fb210ca6b98d32c
  Author: Kevin Wolf <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

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

  Log Message:
  -----------
  block: Use blk_co_ioctl() for all BB level ioctls

All read/write functions already have a single coroutine-based function
on the BlockBackend level through which all requests go (no matter what
API style the external caller used) and which passes the requests down
to the block node level.

This patch exports a bdrv_co_ioctl() function and uses it to extend this
mode of operation to ioctls.

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


  Commit: 0d4377b3ea97cc28c71642c92c2cfa8cdb1cc8bd
      
https://github.com/qemu/qemu/commit/0d4377b3ea97cc28c71642c92c2cfa8cdb1cc8bd
  Author: Kevin Wolf <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

  Changed paths:
    M block/raw-posix.c

  Log Message:
  -----------
  raw-posix: Don't use bdrv_ioctl()

Instead of letting raw-posix use the bdrv_ioctl() abstraction to issue
an ioctl to itself, just call ioctl() directly.

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


  Commit: 61b2450414ee052c8f2561e999852fad0534899e
      
https://github.com/qemu/qemu/commit/61b2450414ee052c8f2561e999852fad0534899e
  Author: Kevin Wolf <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

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

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

It is unused now.

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


  Commit: 16a389dc9ecc05e9d8d6ebd3eff6dc98158523e0
      
https://github.com/qemu/qemu/commit/16a389dc9ecc05e9d8d6ebd3eff6dc98158523e0
  Author: Kevin Wolf <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

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

  Log Message:
  -----------
  block: Introduce .bdrv_co_ioctl() driver callback

This allows drivers to implement ioctls in a coroutine-based way.

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


  Commit: 151a2930c437e9f09f6b1c21c99ccabfd5dba9c7
      
https://github.com/qemu/qemu/commit/151a2930c437e9f09f6b1c21c99ccabfd5dba9c7
  Author: Kevin Wolf <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

  Changed paths:
    M block/raw_bsd.c

  Log Message:
  -----------
  raw: Implement .bdrv_co_ioctl instead of .bdrv_aio_ioctl

It's the simpler interface to use for the raw format driver.

Apart from that, this removes the last user of the AIO emulation
implemented by bdrv_aio_ioctl().

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


  Commit: cbc14ac9c3e199df759e2847b2301e2b990a8537
      
https://github.com/qemu/qemu/commit/cbc14ac9c3e199df759e2847b2301e2b990a8537
  Author: Kevin Wolf <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

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

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

It is unused now.

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


  Commit: e5b77eec91eb03101d53d8ce4a5d03e40b5d1000
      
https://github.com/qemu/qemu/commit/e5b77eec91eb03101d53d8ce4a5d03e40b5d1000
  Author: Kevin Wolf <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

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

  Log Message:
  -----------
  qemu-iotests: Fix typo for NFS with IMGOPTSSYNTAX

Commit 076003f5 added configuration for NFS with IMGOPTSSYNTAX enabled,
but it didn't use the right variable name: $TEST_DIR_OPTS doesn't exist.
This fixes the mistake.

However, this doesn't make anything work that was broken before: The
only way to get IMGOPTSSYNTAX is with -luks, but the combination of
-luks and -nfs doesn't get qemu-img create commands right (because
qemu-img create doesn't support --image-opts yet), so even after this
fix some more work would be required to make the tests pass.

Reported-by: Tomáš Golembiovský <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 82d73014a9111c53fefb7e7954c9e370d23f7569
      
https://github.com/qemu/qemu/commit/82d73014a9111c53fefb7e7954c9e370d23f7569
  Author: Max Reitz <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

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

  Log Message:
  -----------
  block/nbd: Drop trailing "." in error messages

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


  Commit: 442045cbce010688eed2b8ede6141e982c6d6b23
      
https://github.com/qemu/qemu/commit/442045cbce010688eed2b8ede6141e982c6d6b23
  Author: Max Reitz <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

  Changed paths:
    M block/nbd.c

  Log Message:
  -----------
  block/nbd: Reject port parameter without host

Currently, a port that is passed along with a UNIX socket path is
silently ignored. That is not exactly ideal, it should be an error
instead.

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


  Commit: 7edca33804f9b6948a65c04f969facf02a59e6fe
      
https://github.com/qemu/qemu/commit/7edca33804f9b6948a65c04f969facf02a59e6fe
  Author: Max Reitz <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

  Changed paths:
    M block/nbd.c

  Log Message:
  -----------
  block/nbd: Default port in nbd_refresh_filename()

Instead of not emitting the port in nbd_refresh_filename(), just set it
to the default if the user did not specify it. This makes the logic a
bit simpler.

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


  Commit: fcfcd8ffccd81b6fc13a730e2a75cefc5d1eb752
      
https://github.com/qemu/qemu/commit/fcfcd8ffccd81b6fc13a730e2a75cefc5d1eb752
  Author: Max Reitz <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

  Changed paths:
    M block/nbd.c

  Log Message:
  -----------
  block/nbd: Use qdict_put()

Instead of inlining this nice macro (i.e. resorting to
qdict_put_obj(..., QOBJECT(...))), use it.

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


  Commit: 48c38e0b8d2d71ec82928bd4b4136a941d39de3c
      
https://github.com/qemu/qemu/commit/48c38e0b8d2d71ec82928bd4b4136a941d39de3c
  Author: Max Reitz <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

  Changed paths:
    M block/nbd.c

  Log Message:
  -----------
  block/nbd: Add nbd_has_filename_options_conflict()

Right now, we have four possible options that conflict with specifying
an NBD filename, and a future patch will add another one ("address").
This future option is a nested QDict that is flattened at this point,
requiring us to test each option whether its key has an "address."
prefix. Therefore, we will then need to iterate through all options
(including the "export" option which was not covered so far).

Adding this iteration logic now will simplify adding the new option
later. A nice side effect is that the user will not receive a long list
of five options which are not supposed to be specified with a filename,
but we can actually print the problematic option.

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


  Commit: 491d6c7c4e4793ae5b009e120139ad62f56b5a35
      
https://github.com/qemu/qemu/commit/491d6c7c4e4793ae5b009e120139ad62f56b5a35
  Author: Max Reitz <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

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

  Log Message:
  -----------
  block/nbd: Accept SocketAddress

Add a new option "server" to the NBD block driver which accepts a
SocketAddress.

"path", "host" and "port" are still supported as legacy options and are
mapped to their corresponding SocketAddress representation.

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


  Commit: f84d431b86f6f00a8fcefb44af08243e70466acb
      
https://github.com/qemu/qemu/commit/f84d431b86f6f00a8fcefb44af08243e70466acb
  Author: Max Reitz <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

  Changed paths:
    M block/nbd.c

  Log Message:
  -----------
  block/nbd: Use SocketAddress options

Drop the use of legacy options in favor of the SocketAddress
representation, even for internal use (i.e. for storing the result of
the filename parsing).

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


  Commit: 6b02b1f0a4a5d887e6e773e9f13fffcb2adfdf0d
      
https://github.com/qemu/qemu/commit/6b02b1f0a4a5d887e6e773e9f13fffcb2adfdf0d
  Author: Max Reitz <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

  Changed paths:
    M qapi/block-core.json

  Log Message:
  -----------
  qapi: Allow blockdev-add for NBD

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


  Commit: bec87774c24aac5b950f4a51ca0f5edee5d88966
      
https://github.com/qemu/qemu/commit/bec87774c24aac5b950f4a51ca0f5edee5d88966
  Author: Max Reitz <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

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

  Log Message:
  -----------
  iotests.py: Add qemu_nbd function

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


  Commit: 5fcbdf508a9b5962d2e609b95364e1aae8797a4c
      
https://github.com/qemu/qemu/commit/5fcbdf508a9b5962d2e609b95364e1aae8797a4c
  Author: Max Reitz <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

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

  Log Message:
  -----------
  iotests.py: Allow concurrent qemu instances

By adding an optional suffix to the files used for communication with a
VM, we can launch multiple VM instances concurrently.

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


  Commit: d35172b425a032d7c9cc2453556d73a54e4ecfa1
      
https://github.com/qemu/qemu/commit/d35172b425a032d7c9cc2453556d73a54e4ecfa1
  Author: Max Reitz <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

  Changed paths:
    M tests/qemu-iotests/socket_scm_helper.c

  Log Message:
  -----------
  socket_scm_helper: Accept fd directly

This gives us more freedom about the fd that is passed to qemu, allowing
us to e.g. pass sockets.

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


  Commit: e07375f5523289d5fc279e0b7d3e93e51a28e2e3
      
https://github.com/qemu/qemu/commit/e07375f5523289d5fc279e0b7d3e93e51a28e2e3
  Author: Max Reitz <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

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

  Log Message:
  -----------
  iotests: Add assert_json_filename_equal() method

Since the order of keys in JSON filenames is not necessarily fixed, they
should not be compared to fixed strings. This method takes a Python dict
as a reference, parses a given JSON filename and compares both.

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


  Commit: b74fc7f78e0dd54fbae67d46552cebf81b59ae9f
      
https://github.com/qemu/qemu/commit/b74fc7f78e0dd54fbae67d46552cebf81b59ae9f
  Author: Max Reitz <address@hidden>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

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

  Log Message:
  -----------
  iotests: Add test for NBD's blockdev-add interface

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


  Commit: 9879b75873cacc88cdee490f6ab481e8ce766c69
      
https://github.com/qemu/qemu/commit/9879b75873cacc88cdee490f6ab481e8ce766c69
  Author: Peter Maydell <address@hidden>
  Date:   2016-10-28 (Fri, 28 Oct 2016)

  Changed paths:
    M block/block-backend.c
    M block/io.c
    M block/nbd.c
    M block/raw-posix.c
    M block/raw_bsd.c
    M block/trace-events
    M include/block/block.h
    M include/block/block_int.h
    M include/sysemu/block-backend.h
    M qapi/block-core.json
    M tests/qemu-iotests/051.out
    M tests/qemu-iotests/051.pc.out
    A tests/qemu-iotests/147
    A tests/qemu-iotests/147.out
    M tests/qemu-iotests/common.rc
    M tests/qemu-iotests/group
    M tests/qemu-iotests/iotests.py
    M tests/qemu-iotests/socket_scm_helper.c

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

Block layer patches

# gpg: Signature made Thu 27 Oct 2016 18:15:47 BST
# gpg:                using RSA key 0x7F09B272C88F2FD6
# gpg: Good signature from "Kevin Wolf <address@hidden>"
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6

* remotes/kevin/tags/for-upstream: (23 commits)
  iotests: Add test for NBD's blockdev-add interface
  iotests: Add assert_json_filename_equal() method
  socket_scm_helper: Accept fd directly
  iotests.py: Allow concurrent qemu instances
  iotests.py: Add qemu_nbd function
  qapi: Allow blockdev-add for NBD
  block/nbd: Use SocketAddress options
  block/nbd: Accept SocketAddress
  block/nbd: Add nbd_has_filename_options_conflict()
  block/nbd: Use qdict_put()
  block/nbd: Default port in nbd_refresh_filename()
  block/nbd: Reject port parameter without host
  block/nbd: Drop trailing "." in error messages
  qemu-iotests: Fix typo for NFS with IMGOPTSSYNTAX
  block: Remove bdrv_aio_ioctl()
  raw: Implement .bdrv_co_ioctl instead of .bdrv_aio_ioctl
  block: Introduce .bdrv_co_ioctl() driver callback
  block: Remove bdrv_ioctl()
  raw-posix: Don't use bdrv_ioctl()
  block: Use blk_co_ioctl() for all BB level ioctls
  ...

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


Compare: https://github.com/qemu/qemu/compare/86398328467d...9879b75873ca

reply via email to

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