This supersedes my pull request from two weeks ago.
The following changes since commit 732c66ce641c69702a7e7fdb73b68f0c1b583ab5: Revert "error: Don't use error_report() for assertion msgs." (2014-01-17 09:50:11 +1000) are available in the git repository at: git://repo.or.cz/qemu/kevin.git tags/for-anthony for you to fetch changes up to d5103588aa39157c8eea3bb5fb6780bbd8be21b7: block: Switch bdrv_io_limits_intercept() to byte granularity (2014-01-24 17:40:28 +0100) ---------------------------------------------------------------- Block patches ---------------------------------------------------------------- BenoƮt Canet (7): block: Add bs->node_name to hold the name of a bs node of the bs graph. block: Allow the user to define "node-name" option both on command line and QMP. qmp: Add QMP query-named-block-nodes to list the named BlockDriverState nodes. qmp: Allow to change password on named block driver states. block: Create authorizations mechanism for external snapshot and resize. qmp: Allow block_resize to manipulate bs graph nodes. qmp: Allow to take external snapshots on bs graphs node. Bharata B Rao (3): gluster: Convert aio routines into coroutines gluster: Implement .bdrv_co_write_zeroes for gluster gluster: Add support for creating zero-filled image Fam Zheng (7): qemu-iotests: Introduce _unsupported_imgopts qemu-iotests: Add _unsupported_imgopts for vmdk subformats qemu-iotests: Clean up all extents for vmdk vmdk: Fix big flat extent IO vmdk: Check for overhead when opening vmdk: Fix format specific information (create type) for streamOptimized qapi: Add "backing" to BlockStats Hu Tao (1): qcow2: fix wrong value of L1E_OFFSET_MASK, L2E_OFFSET_MASK and REFT_OFFSET_MASK Jeff Cody (3): block: resize backing file image during offline commit, if necessary block: resize backing image during active layer commit, if needed block: update block commit documentation regarding image truncation Kevin Wolf (30): qemu-progress: Drop unused include qemu-progress: Fix progress printing on SIGUSR1 Documentation: qemu-img: Mention SIGUSR1 progress report block: Fix bdrv_commit return value block: Move initialisation of BlockLimits to bdrv_refresh_limits() block: Inherit opt_transfer_length block: Update BlockLimits when they might have changed qemu_memalign: Allow small alignments block: Detect unaligned length in bdrv_qiov_is_aligned() block: Don't use guest sector size for qemu_blockalign() block: Introduce bdrv_aligned_preadv() block: Introduce bdrv_co_do_preadv() block: Introduce bdrv_aligned_pwritev() block: write: Handle COR dependency after I/O throttling block: Introduce bdrv_co_do_pwritev() block: Switch BdrvTrackedRequest to byte granularity block: Allow waiting for overlapping requests between begin/end block: Make zero-after-EOF work with larger alignment block: Generalise and optimise COR serialisation block: Make overlap range for serialisation dynamic block: Allow wait_serialising_requests() at any point block: Align requests in bdrv_co_do_pwritev() block: Assert serialisation assumptions in pwritev block: Change coroutine wrapper to byte granularity block: Make bdrv_pread() a bdrv_prwv_co() wrapper block: Make bdrv_pwrite() a bdrv_prwv_co() wrapper blkdebug: Make required alignment configurable qemu-io: New command 'sleep' qemu-iotests: Test pwritev RMW logic block: Switch bdrv_io_limits_intercept() to byte granularity Kewei Yu (1): qtest: Fix the bug about disable vnc causes "make check" fail Liu Yuan (2): sheepdog: fix clone operation by 'qemu-img create -b' sheepdog: fix 'qemu-img map' Max Reitz (24): blkdebug: Use errp for read_config() blkdebug: Don't require sophisticated filename qdict: Add qdict_array_split() qapi: extend qdict_flatten() for QLists qemu-option: Add qemu_config_parse_qdict() blkdebug: Always call read_config() blkdebug: Use command-line in read_config() block: Allow reference for bdrv_file_open() block: Pass reference to bdrv_file_open() block: Allow block devices without files block: Add bdrv_open_image() block: Use bdrv_open_image() in bdrv_open() block: Allow recursive "file"s blockdev: Move "file" to legacy_opts blkdebug: Allow command-line file configuration blkverify: Allow command-line configuration blkverify: Don't require protocol filename qapi: Add "errno" to the list of polluted words qapi: QMP interface for blkdebug and blkverify qemu-io: Make filename optional tests: Add test for qdict_array_split() tests: Add test for qdict_flatten() iotests: Test new blkdebug/blkverify interface iotests: Test file format nesting Paolo Bonzini (3): block: rename buffer_alignment to guest_block_size raw: Probe required direct I/O alignment iscsi: Set bs->request_alignment Peter Feiner (1): block: fix backing file segfault Peter Lieven (1): block/iscsi: return -ENOMEM if an async call fails immediately Peter Maydell (1): block/curl: Implement the libcurl timer callback interface Stefan Hajnoczi (8): rbd: switch from pipe to QEMUBH completion notification docs: qcow2 compat=1.1 is now the default readline: decouple readline from the monitor readline: move readline to a generic location osdep: add qemu_set_tty_echo() qemu-io: use readline.c qemu-io: add command completion dataplane: fix shadowed return value Zhang Min (1): drive mirror:fix memory leak Makefile.objs | 1 - block.c | 1024 ++++++++++++++++++++++++++-------- block/backup.c | 7 +- block/blkdebug.c | 81 ++- block/blkverify.c | 31 +- block/cow.c | 3 +- block/curl.c | 81 ++- block/gluster.c | 318 ++++++----- block/iscsi.c | 59 +- block/mirror.c | 39 ++ block/qapi.c | 114 ++-- block/qcow.c | 3 +- block/qcow2.c | 13 +- block/qcow2.h | 6 +- block/qed.c | 15 +- block/raw-posix.c | 102 +++- block/raw-win32.c | 41 ++ block/rbd.c | 130 +---- block/sheepdog.c | 25 +- block/stream.c | 2 + block/vhdx.c | 2 +- block/vmdk.c | 45 +- blockdev.c | 112 +++- configure | 8 + hmp-commands.hx | 5 + hmp.c | 14 +- hw/block/virtio-blk.c | 2 +- hw/ide/core.c | 2 +- hw/scsi/scsi-disk.c | 2 +- hw/scsi/scsi-generic.c | 2 +- hw/virtio/dataplane/vring.c | 2 +- include/block/block.h | 44 +- include/block/block_int.h | 48 +- include/block/qapi.h | 1 + include/monitor/monitor.h | 2 +- include/qapi/qmp/qdict.h | 1 + include/qemu-io.h | 3 + include/qemu/config-file.h | 6 + include/qemu/osdep.h | 2 + include/{monitor => qemu}/readline.h | 20 +- monitor.c | 41 +- qapi-schema.json | 183 +++++- qemu-doc.texi | 8 +- qemu-img.texi | 19 +- qemu-io-cmds.c | 57 ++ qemu-io.c | 119 ++-- qmp-commands.hx | 117 +++- qobject/qdict.c | 91 ++- scripts/qapi.py | 2 +- tests/check-qdict.c | 156 ++++++ tests/fdc-test.c | 5 +- tests/ide-test.c | 3 - tests/qemu-iotests/017 | 1 + tests/qemu-iotests/018 | 1 + tests/qemu-iotests/019 | 3 + tests/qemu-iotests/020 | 3 + tests/qemu-iotests/034 | 3 + tests/qemu-iotests/037 | 3 + tests/qemu-iotests/051.out | 2 +- tests/qemu-iotests/059 | 16 + tests/qemu-iotests/059.out | 79 +++ tests/qemu-iotests/063 | 3 + tests/qemu-iotests/069 | 1 + tests/qemu-iotests/071 | 239 ++++++++ tests/qemu-iotests/071.out | 90 +++ tests/qemu-iotests/072 | 69 +++ tests/qemu-iotests/072.out | 21 + tests/qemu-iotests/077 | 278 +++++++++ tests/qemu-iotests/077.out | 202 +++++++ tests/qemu-iotests/common.rc | 28 +- tests/qemu-iotests/group | 3 + util/Makefile.objs | 1 + util/oslib-posix.c | 23 + util/oslib-win32.c | 19 + util/qemu-config.c | 100 ++++ util/qemu-progress.c | 11 +- readline.c => util/readline.c | 46 +- 77 files changed, 3579 insertions(+), 885 deletions(-) rename include/{monitor => qemu}/readline.h (69%) create mode 100755 tests/qemu-iotests/071 create mode 100644 tests/qemu-iotests/071.out create mode 100755 tests/qemu-iotests/072 create mode 100644 tests/qemu-iotests/072.out create mode 100755 tests/qemu-iotests/077 create mode 100644 tests/qemu-iotests/077.out rename readline.c => util/readline.c (92%)