qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 819fa2: Restore atapi_dma flag across migrati


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 819fa2: Restore atapi_dma flag across migration
Date: Mon, 09 Feb 2015 15:00:10 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 819fa276311ce328a8e38ad9306c1093961b3f4b
      
https://github.com/qemu/qemu/commit/819fa276311ce328a8e38ad9306c1093961b3f4b
  Author: Dr. David Alan Gilbert <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M hw/ide/core.c

  Log Message:
  -----------
  Restore atapi_dma flag across migration

If a migration happens just after the guest has kicked
off an ATAPI command and kicked off DMA, we lose the atapi_dma
flag, and the destination tries to complete the command as PIO
rather than DMA.  This upsets Linux; modern libata based kernels
stumble and recover OK, older kernels end up passing bad data
to userspace.

Signed-off-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: John Snow <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: a71754e5b03fd3b8b8c6d3bc2a39f75bead729de
      
https://github.com/qemu/qemu/commit/a71754e5b03fd3b8b8c6d3bc2a39f75bead729de
  Author: Dr. David Alan Gilbert <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M hw/ide/atapi.c
    M hw/ide/internal.h
    M hw/ide/pci.c

  Log Message:
  -----------
  atapi migration: Throw recoverable error to avoid recovery

(With the previous atapi_dma flag recovery)
If migration happens between the ATAPI command being written and the
bmdma being started, the DMA is dropped.  Eventually the guest times
out and recovers, but that can take many seconds.
(This is rare, on a pingpong reading the CD continuously I hit
this about ~1/30-1/50 migrates)

I don't think we've got enough state to be able to recover safely
at this point, so I throw a 'medium error, no seek complete'
that I'm assuming guests will try and recover from an apparently
dirty CD.

OK, it's a hack, the real solution is probably to push a lot of
ATAPI state into the migration stream, but this is a fix that
works with no stream changes. Tested only on Linux (both RHEL5
(pre-libata) and RHEL7).

Signed-off-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: John Snow <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 1486df0e312613c6f235ee08488c90cc6b987094
      
https://github.com/qemu/qemu/commit/1486df0e312613c6f235ee08488c90cc6b987094
  Author: Denis V. Lunev <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/raw-posix.c

  Log Message:
  -----------
  block/raw-posix: create translate_err helper to merge errno values

actually the code
    if (ret == -ENODEV || ret == -ENOSYS || ret == -EOPNOTSUPP ||
  ret == -ENOTTY) {
  ret = -ENOTSUP;
    }
is present twice and will be added a couple more times. Create helper
for this.

CC: Kevin Wolf <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Peter Lieven <address@hidden>
CC: Fam Zheng <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Reviewed-by: Peter Lieven <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 0b99171230bcdfe49956f283fc2e51a37efc7bfc
      
https://github.com/qemu/qemu/commit/0b99171230bcdfe49956f283fc2e51a37efc7bfc
  Author: Denis V. Lunev <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/raw-posix.c

  Log Message:
  -----------
  block/raw-posix: create do_fallocate helper

The pattern
    do {
  if (fallocate(s->fd, mode, offset, len) == 0) {
      return 0;
  }
    } while (errno == EINTR);
    ret = translate_err(-errno);
will be commonly useful in next patches. Create helper for it.

CC: Kevin Wolf <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Peter Lieven <address@hidden>
CC: Fam Zheng <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Reviewed-by: Peter Lieven <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 37cc9f7f684ed035da63274daca1594c7ee16213
      
https://github.com/qemu/qemu/commit/37cc9f7f684ed035da63274daca1594c7ee16213
  Author: Denis V. Lunev <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/raw-posix.c

  Log Message:
  -----------
  block/raw-posix: refactor handle_aiocb_write_zeroes a bit

move code dealing with a block device to a separate function. This will
allow to implement additional processing for ordinary files.

Please note, that xfs_code has been moved before checking for
s->has_write_zeroes as xfs_write_zeroes does not touch this flag inside.
This makes code a bit more consistent.

CC: Kevin Wolf <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Peter Lieven <address@hidden>
CC: Fam Zheng <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: b953f075007a7860adce9fa410b2e116a3d5e29c
      
https://github.com/qemu/qemu/commit/b953f075007a7860adce9fa410b2e116a3d5e29c
  Author: Denis V. Lunev <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/raw-posix.c
    M configure

  Log Message:
  -----------
  block: use fallocate(FALLOC_FL_ZERO_RANGE) in handle_aiocb_write_zeroes

This efficiently writes zeroes on Linux if the kernel is capable enough.
FALLOC_FL_ZERO_RANGE correctly handles all cases, including and not
including file expansion.

CC: Kevin Wolf <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Peter Lieven <address@hidden>
CC: Fam Zheng <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: d50d82221934696633296975aa433fe8aeeac714
      
https://github.com/qemu/qemu/commit/d50d82221934696633296975aa433fe8aeeac714
  Author: Denis V. Lunev <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/raw-posix.c

  Log Message:
  -----------
  block/raw-posix: call plain fallocate in handle_aiocb_write_zeroes

There is a possibility that we are extending our image and thus writing
zeroes beyond the end of the file. In this case we do not need to care
about the hole to make sure that there is no data in the file under
this offset (pre-condition to fallocate(0) to work). We could simply call
fallocate(0).

This improves the performance of writing zeroes even on really old
platforms which do not have even FALLOC_FL_PUNCH_HOLE.

Before the patch do_fallocate was used when either
CONFIG_FALLOCATE_PUNCH_HOLE or CONFIG_FALLOCATE_ZERO_RANGE are defined.
Now the story is different. CONFIG_FALLOCATE is defined when Linux
fallocate is defined, posix_fallocate is completely different story
(CONFIG_POSIX_FALLOCATE). CONFIG_FALLOCATE is mandatory prerequite
for both CONFIG_FALLOCATE_PUNCH_HOLE and CONFIG_FALLOCATE_ZERO_RANGE
thus we are on the safe side.

CC: Max Reitz <address@hidden>
CC: Kevin Wolf <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Peter Lieven <address@hidden>
CC: Fam Zheng <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 1cdc3239f1bb8c8f18954defe3cb813edc9df4a0
      
https://github.com/qemu/qemu/commit/1cdc3239f1bb8c8f18954defe3cb813edc9df4a0
  Author: Denis V. Lunev <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/raw-posix.c

  Log Message:
  -----------
  block: use fallocate(FALLOC_FL_PUNCH_HOLE) & fallocate(0) to write zeroes

This sequence works efficiently if FALLOC_FL_ZERO_RANGE is not supported.
Unfortunately, FALLOC_FL_ZERO_RANGE is supported on really modern systems
and only for a couple of filesystems. FALLOC_FL_PUNCH_HOLE is much more
mature.

The sequence of 2 operations FALLOC_FL_PUNCH_HOLE and 0 is necessary due
to the following reasons:
- FALLOC_FL_PUNCH_HOLE creates a hole in the file, the file becomes
  sparse. In order to retain original functionality we must allocate
  disk space afterwards. This is done using fallocate(0) call
- fallocate(0) without preceeding FALLOC_FL_PUNCH_HOLE will do nothing
  if called above already allocated areas of the file, i.e. the content
  will not be zeroed

This should increase the performance a bit for not-so-modern kernels.

CC: Max Reitz <address@hidden>
CC: Kevin Wolf <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Peter Lieven <address@hidden>
CC: Fam Zheng <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 98764152ad8ec9fa4e7bb6d8e10f8a7a7ce273d7
      
https://github.com/qemu/qemu/commit/98764152ad8ec9fa4e7bb6d8e10f8a7a7ce273d7
  Author: Peter Lieven <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: change default for discard and write zeroes to INT_MAX

do not trim requests if the driver does not supply a limit
through BlockLimits. For write zeroes we still keep a limit
for the unsupported path to avoid allocating a big bounce buffer.

Suggested-by: Kevin Wolf <address@hidden>
Suggested-by: Denis V. Lunev <address@hidden>
Signed-off-by: Peter Lieven <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 61979a6adfc1c4590f31ca295998e160226785c4
      
https://github.com/qemu/qemu/commit/61979a6adfc1c4590f31ca295998e160226785c4
  Author: Don Slutz <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M qemu-img.c

  Log Message:
  -----------
  qemu-img: Add QEMU_PKGVERSION to QEMU_IMG_VERSION

This is the same way vl.c handles this.

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


  Commit: 35f5a49374098733247c640cbdcbafcfc792c11f
      
https://github.com/qemu/qemu/commit/35f5a49374098733247c640cbdcbafcfc792c11f
  Author: Fam Zheng <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/qed.h

  Log Message:
  -----------
  qed: Really remove unused field QEDAIOCB.finished

The commit 533ffb17a that removed qed_aiocb_info.cancel said to remove
this but didn't do it.

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


  Commit: f4564d53c6952c61fb3ed8ee17a6e0f2f6bf0857
      
https://github.com/qemu/qemu/commit/f4564d53c6952c61fb3ed8ee17a6e0f2f6bf0857
  Author: Peter Lieven <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

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

  Log Message:
  -----------
  block: add accounting for merged requests

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


  Commit: d901f3c457ade0b4934427c0e8608dea31610720
      
https://github.com/qemu/qemu/commit/d901f3c457ade0b4934427c0e8608dea31610720
  Author: Peter Lieven <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

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

  Log Message:
  -----------
  hw/virtio-blk: add a constant for max number of merged requests

As it was not obvious (at least for me) where the 32 comes from;
add a constant for it.

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


  Commit: 454057b7d9b9ad141bd5df8c4075745e56b4870f
      
https://github.com/qemu/qemu/commit/454057b7d9b9ad141bd5df8c4075745e56b4870f
  Author: Peter Lieven <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

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

  Log Message:
  -----------
  block-backend: expose bs->bl.max_transfer_length

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


  Commit: 95f7142abc86a916682bd735aecd90172ffa0d30
      
https://github.com/qemu/qemu/commit/95f7142abc86a916682bd735aecd90172ffa0d30
  Author: Peter Lieven <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

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

  Log Message:
  -----------
  virtio-blk: introduce multiread

this patch finally introduces multiread support to virtio-blk. While
multiwrite support was there for a long time, read support was missing.

The complete merge logic is moved into virtio-blk.c which has
been the only user of request merging ever since. This is required
to be able to merge chunks of requests and immediately invoke callbacks
for those requests. Secondly, this is required to switch to
direct invocation of coroutines which is planned at a later stage.

The following benchmarks show the performance of running fio with
4 worker threads on a local ram disk. The numbers show the average
of 10 test runs after 1 run as warmup phase.
         |        4k        |       64k        |        4k
MB/s          | rd seq | rd rand | rd seq | rd rand | wr seq | wr rand
--------------+--------+---------+--------+---------+--------+--------
master        | 1221   | 1187    | 4178   | 4114    | 1745   | 1213
multiread     | 1829   | 1189    | 4639   | 4110    | 1894   | 1216

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


  Commit: c99495ac1b4a27cb57bf04ed1a169177aeea2649
      
https://github.com/qemu/qemu/commit/c99495ac1b4a27cb57bf04ed1a169177aeea2649
  Author: Peter Lieven <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

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

  Log Message:
  -----------
  virtio-blk: add a knob to disable request merging

this adds a knob to disable request merging for debugging or benchmarks if 
dedired.

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


  Commit: 79e7a01954d5b171186ef1e946e9159417befc1e
      
https://github.com/qemu/qemu/commit/79e7a01954d5b171186ef1e946e9159417befc1e
  Author: Fam Zheng <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

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

  Log Message:
  -----------
  qemu-iotests: Fix supported_oses check

There is a bug in the recently added sys.platform test, and we no longer
run python tests, because "linux2" is the value to compare here. So do a
prefix match. According to python doc [1], the way to use sys.platform
is "unless you want to test for a specific system version, it is
therefore recommended to use the following idiom":

if sys.platform.startswith('freebsd'):
    # FreeBSD-specific code here...
elif sys.platform.startswith('linux'):
    # Linux-specific code here...

[1]: https://docs.python.org/2.7/library/sys.html#sys.platform

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


  Commit: 6440d44cea84451ee9facb1237a4e7251631df80
      
https://github.com/qemu/qemu/commit/6440d44cea84451ee9facb1237a4e7251631df80
  Author: Max Reitz <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

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

  Log Message:
  -----------
  iotests: Specify format for qemu-nbd

This patch is necessary to suppress the "probed raw" warning when
running raw over nbd tests.

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


  Commit: e2462113b2003085ad16f15e1442ded64e2d9a29
      
https://github.com/qemu/qemu/commit/e2462113b2003085ad16f15e1442ded64e2d9a29
  Author: Francesco Romani <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/Makefile.objs
    M block/qapi.c
    A block/write-threshold.c
    M include/block/block_int.h
    A include/block/write-threshold.h
    M qapi/block-core.json
    M qmp-commands.hx
    M tests/Makefile
    M tests/qemu-iotests/067.out
    A tests/test-write-threshold.c

  Log Message:
  -----------
  block: add event when disk usage exceeds threshold

Managing applications, like oVirt (http://www.ovirt.org), make extensive
use of thin-provisioned disk images.
To let the guest run smoothly and be not unnecessarily paused, oVirt sets
a disk usage threshold (so called 'high water mark') based on the occupation
of the device,  and automatically extends the image once the threshold
is reached or exceeded.

In order to detect the crossing of the threshold, oVirt has no choice but
aggressively polling the QEMU monitor using the query-blockstats command.
This lead to unnecessary system load, and is made even worse under scale:
deployments with hundreds of VMs are no longer rare.

To fix this, this patch adds:
* A new monitor command `block-set-write-threshold', to set a mark for
  a given block device.
* A new event `BLOCK_WRITE_THRESHOLD', to report if a block device
  usage exceeds the threshold.
* A new `write_threshold' field into the `BlockDeviceInfo' structure,
  to report the configured threshold.

This will allow the managing application to use smarter and more
efficient monitoring, greatly reducing the need of polling.

[Updated qemu-iotests 067 output to add the new 'write_threshold'
property. --Stefan]
[Changed g_assert_false() to !g_assert() to fix the build on older glib
versions. --Kevin]

Signed-off-by: Francesco Romani <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: fa8354bd226617e2afcc45c27a74959c15291cc0
      
https://github.com/qemu/qemu/commit/fa8354bd226617e2afcc45c27a74959c15291cc0
  Author: Peter Wu <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/dmg.c

  Log Message:
  -----------
  block/dmg: properly detect the UDIF trailer

DMG files have a variable length with a UDIF trailer at the end of a
file. This UDIF trailer is essential as it describes the contents of
the image. At the moment however, the start of this trailer is almost
always incorrect as bdrv_getlength() returns a multiple of the block
size (rounded up). This results in a failure to recognize DMG files,
resulting in Invalid argument (EINVAL) errors.

As there is no API to retrieve the real file size, look for the magic
header in the last two sectors to find the start of this 512-byte UDIF
trailer (the "koly" block).

The resource fork offset ("info_begin") has its offset adjusted as the
initial value of offset does not mean "end of file" anymore, but "begin
of UDIF trailer".

[Replaced error_set(errp, ERROR_CLASS_GENERIC_ERROR, ...) with
error_setg(errp, ...) as discussed with Peter.
--Stefan]

Signed-off-by: Peter Wu <address@hidden>
Reviewed-by: John Snow <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 65a1c7c96a64cd69269c9ba854fa347dd0bbda0b
      
https://github.com/qemu/qemu/commit/65a1c7c96a64cd69269c9ba854fa347dd0bbda0b
  Author: Peter Wu <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/dmg.c

  Log Message:
  -----------
  block/dmg: extract mish block decoding functionality

Extract the mish block decoder such that this can be used for other
formats in the future. A new DmgHeaderState struct is introduced to
share state while decoding.

The code is kept unchanged as much as possible, a "fail" label is added
for example where a simple return would probably do. In dmg_open, the
variable "tmp" is renamed to "rsrc_data_offset" for clarity and comments
have been added explaining various data.

Note that this patch has one subtle difference with the previous
version which should not affect functionality. In the previous code,
the end of a resource was inferred from the mish block (the offsets
would be increased by the fields). In this patch, the resource length
is used instead to avoid the need to rely on the previous offsets.

Signed-off-by: Peter Wu <address@hidden>
Reviewed-by: John Snow <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: b0e8dc5d54225d2e7012bd306e62ac90ba6fc1ea
      
https://github.com/qemu/qemu/commit/b0e8dc5d54225d2e7012bd306e62ac90ba6fc1ea
  Author: Peter Wu <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/dmg.c

  Log Message:
  -----------
  block/dmg: extract processing of resource forks

Besides the offset, also read the resource length. This length is now
used in the extracted function to verify the end of the resource fork
against "count" from the resource fork.

Instead of relying on the value of offset to conclude whether the
resource fork is available or not (info_begin==0), check the
rsrc_fork_length instead. This would allow a dmg file to begin with a
resource fork. This seemingly unnecessary restriction was found while
trying to craft a DMG file by hand.

Other changes:

 - Do not require resource data offset to be 0x100 (but check that it
   is within bounds though).
 - Further improve boundary checking (resource data must be within
   the resource fork).
 - Use correct value for resource data length (spotted by John Snow)
 - Consider the resource data offset when determining info_end.
   This fixes an EINVAL on the tuxpaint dmg example.

The resource fork format is documented at
https://developer.apple.com/legacy/library/documentation/mac/pdf/MoreMacintoshToolbox.pdf#page=151

Signed-off-by: Peter Wu <address@hidden>
Reviewed-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 7aee37b93a4f694cdd670807f30b8efd33d0c721
      
https://github.com/qemu/qemu/commit/7aee37b93a4f694cdd670807f30b8efd33d0c721
  Author: Peter Wu <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/dmg.c

  Log Message:
  -----------
  block/dmg: process a buffer instead of reading ints

As the decoded plist XML is not a pointer in the file,
dmg_read_mish_block must be able to process a buffer instead of a file
pointer. Since the full buffer must be processed, let's change the
return value again to just a success flag.

Signed-off-by: Peter Wu <address@hidden>
Reviewed-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: f6e6652d7c9251236fc1ecc6cece36104c7af15b
      
https://github.com/qemu/qemu/commit/f6e6652d7c9251236fc1ecc6cece36104c7af15b
  Author: Peter Wu <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/dmg.c

  Log Message:
  -----------
  block/dmg: validate chunk size to avoid overflow

Previously the chunk size was not checked, allowing for a large memory
allocation. This patch checks whether the chunks size is within the
resource fork length, and whether the resource fork is below the
trailer of the dmg file.

Signed-off-by: Peter Wu <address@hidden>
Reviewed-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 0599e56ed468d245148530eb194be4a5056a0583
      
https://github.com/qemu/qemu/commit/0599e56ed468d245148530eb194be4a5056a0583
  Author: Peter Wu <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/dmg.c

  Log Message:
  -----------
  block/dmg: process XML plists

The format is simple enough to avoid using a full-blown XML parser. It
assumes that all BLKX items begin with the "mish" magic word, therefore
it is not a problem if other values get matched which are not a BLKX
block.

The offsets are based on the description at
http://newosxbook.com/DMG.html

For compatibility with glib 2.12, use g_base64_decode (which
additionally requires an extra buffer allocation) instead of
g_base64_decode_inplace (which is only available since glib 2.20).

Signed-off-by: Peter Wu <address@hidden>
Reviewed-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 8daf425794ed624083de98caab04b9fedb873420
      
https://github.com/qemu/qemu/commit/8daf425794ed624083de98caab04b9fedb873420
  Author: Peter Wu <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/dmg.c

  Log Message:
  -----------
  block/dmg: set virtual size to a non-zero value

Right now the virtual size is always reported as zero which makes it
impossible to convert between formats.

After this patch, the number of sectors will be read from the trailer
("koly" block).

To verify the behavior, the output of `dmg2img foo.dmg foo.img` was
compared against `qemu-img convert -f dmg -O raw foo.dmg foo.raw`. The
tests showed that the file contents are exactly the same, except that
QEMU creates a slightly larger file (it matches the total sectors
count).

Signed-off-by: Peter Wu <address@hidden>
Reviewed-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: c6d34865fa02463cf34634f45369ebcc725b101b
      
https://github.com/qemu/qemu/commit/c6d34865fa02463cf34634f45369ebcc725b101b
  Author: Peter Wu <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/dmg.c

  Log Message:
  -----------
  block/dmg: fix sector data offset calculation

This patch addresses two issues:

 - The data fork offset was not taken into account, resulting in failure
   to read an InstallESD.dmg file (5164763151 bytes) which had a
   non-zero DataForkOffset field.
 - The offset of the previous block ("partition") was unconditionally
   added to the current block because older files would start the input
   offset of a new block at zero. Newer files (including vlc-2.1.5.dmg,
   tuxpaint-0.9.15-macosx.dmg and OS X Yosemite [MAS].dmg) failed in
   reads because these files have chunk offsets, relative to the begin
   of a data fork.

Now the data offset of the mish is taken into account. While we could
check that the data_offset is within the data fork, let's not do that
here as it would only result in parse failures on invalid files (rather
than gracefully handling such bad files). dmg_read will error out if
the offset is incorrect.

Signed-off-by: Peter Wu <address@hidden>
Reviewed-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 66ec3bba972b6d4433698397d25d039c230949dc
      
https://github.com/qemu/qemu/commit/66ec3bba972b6d4433698397d25d039c230949dc
  Author: Peter Wu <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/dmg.c

  Log Message:
  -----------
  block/dmg: use SectorNumber from BLKX header

Previously the sector table parsing relied on the previous offset of
the DMG file. Now it uses the sector number from the BLKX header
(see http://newosxbook.com/DMG.html).

The implementation of dmg2img (from vu1tur) does not base the output
sector on the location of the terminator (0xffffffff) either so it
should be safe to drop this dependency on the previous state.

(It makes somehow makes sense, a terminator should halt further
processing of a block and is perhaps used to preallocate some space.)

Signed-off-by: Peter Wu <address@hidden>
Reviewed-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: a8b10c6ead7f62e8eadbdaf944f371889c3c4c29
      
https://github.com/qemu/qemu/commit/a8b10c6ead7f62e8eadbdaf944f371889c3c4c29
  Author: Peter Wu <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/dmg.c

  Log Message:
  -----------
  block/dmg: factor out block type check

In preparation for adding bzip2 support, split the type check into a
separate function. Make all offsets relative to the begin of a chunk
such that it is easier to recognize the position without having to
add up all offsets. Some comments are added to describe the fields.

There is no functional change.

Signed-off-by: Peter Wu <address@hidden>
Reviewed-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 6b383c08c46468ecee98ecf71ffd8362e9bd7f42
      
https://github.com/qemu/qemu/commit/6b383c08c46468ecee98ecf71ffd8362e9bd7f42
  Author: Peter Wu <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/Makefile.objs
    M block/dmg.c
    M configure

  Log Message:
  -----------
  block/dmg: support bzip2 block entry types

This patch adds support for bzip2-compressed block entries as introduced
with OS X 10.4 (source: https://en.wikipedia.org/wiki/Apple_Disk_Image).

It was tested against a 5.2G "OS X Yosemite" installation image which
stores the BLXX block in the XML property list (instead of resource
forks) and has over 5k chunks.

New configure entries are added (--enable-bzip2 / --disable-bzip2) to
control inclusion of bzip2 functionality (which requires linking against
libbz2). The help message suggests that this option is needed for DMG
files, but the tests are generic enough that other parts of QEMU can use
bzip2 if needed.

The identifiers are based on http://newosxbook.com/DMG.html.

The decompression routines are based on the zlib case, but as there is
no way to reset the decompression state (unlike zlib), memory is
allocated and deallocated for every decompression. This should not be
problematic as the decompression takes most of the time and as blocks
are typically about/over 1 MiB in size, only one allocation is done
every 2000 sectors.

Signed-off-by: Peter Wu <address@hidden>
Reviewed-by: John Snow <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 177b75104da3e3a9af84975c32a44782d903c41f
      
https://github.com/qemu/qemu/commit/177b75104da3e3a9af84975c32a44782d903c41f
  Author: Peter Wu <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/dmg.c

  Log Message:
  -----------
  block/dmg: improve zeroes handling

Disk images may contain large all-zeroes gaps (1.66k sectors or 812 MiB
is seen in the real world). These blocks (type 2) do not need to be
extracted into a temporary buffer, there is no need to allocate memory
for these blocks nor to check its length.

(For the test image, the maximum uncompressed size is 1054371 bytes,
probably for a bzip2-compressed block.)

Signed-off-by: Peter Wu <address@hidden>
Reviewed-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 0adfa1ed655904d5bf17fe047635a563f0229789
      
https://github.com/qemu/qemu/commit/0adfa1ed655904d5bf17fe047635a563f0229789
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/qed.c

  Log Message:
  -----------
  qed: check for header size overflow

Header size is denoted in clusters.  The maximum cluster size is 64 MB
but there is no limit on header size.  Check for uint32_t overflow in
case the header size field has a whacky value.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 319fc53e344d5cead970c74f088ae5c607d426b3
      
https://github.com/qemu/qemu/commit/319fc53e344d5cead970c74f088ae5c607d426b3
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

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

  Log Message:
  -----------
  qemu-iotests: add 116 invalid QED input file tests

These tests exercise error code paths in the QED image format.  The
tests are very simple, they just prove that the error path exits
cleanly.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: e729fa6afed3aa917287b63034244f548b79ec60
      
https://github.com/qemu/qemu/commit/e729fa6afed3aa917287b63034244f548b79ec60
  Author: Jeff Cody <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/qcow.c
    M block/qcow2.c

  Log Message:
  -----------
  block: fix off-by-one error in qcow and qcow2

This fixes an off-by-one error introduced in 9a29e18.  Both qcow and
qcow2 need to make sure to leave room for string terminator '\0' for
the backing file, so the max length of the non-terminated string is
either 1023 or PATH_MAX - 1.

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


  Commit: 53f9e77f4ed898a4ea4ad2bc118c06c336ba30dd
      
https://github.com/qemu/qemu/commit/53f9e77f4ed898a4ea4ad2bc118c06c336ba30dd
  Author: Max Reitz <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

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

  Log Message:
  -----------
  iotests: Fix 083

As of 8f9e835fd2e687d2bfe936819c3494af4343614d, probing should be
disabled in the qemu-iotests (at least when using qemu-io). This broke
083's reference output (which consisted mostly of "Could not read image
for determining its format").

This patch fixes it.

Note that one case which failed before is now successful: Disconnect
after data. This is due to qemu having read twice before (once for
probing, once for the qemu-io read command), but only once now (the
qemu-io read command). Therefore, reading is successful (which is
correct).

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


  Commit: 23ab6953f4675b8663888ce6cfe40f4191be3e48
      
https://github.com/qemu/qemu/commit/23ab6953f4675b8663888ce6cfe40f4191be3e48
  Author: Max Reitz <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M tests/qemu-iotests/100

  Log Message:
  -----------
  iotests: Fix 100 for nbd

In case of NBD, _make_test_img starts a new NBD server. Therefore,
_cleanup_test_img (which shuts that server down) has to be invoked
before the next _make_test_img call in order to make 100 work for NBD.

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


  Commit: a231cb272611c758d45135f6a35a4dd1beaf5585
      
https://github.com/qemu/qemu/commit/a231cb272611c758d45135f6a35a4dd1beaf5585
  Author: Max Reitz <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M tests/qemu-iotests/104
    M tests/qemu-iotests/common.filter

  Log Message:
  -----------
  iotests: Fix 104 for NBD

_make_test_img sets up an NBD server, _cleanup_test_img shuts it down;
thus, _cleanup_test_img has to be called before _make_test_img is
invoked another time.

Furthermore, the pipe through _filter_test_img was unnecessary;
_make_test_img already takes care of that.

And finally, a filter is added to _filter_img_info to replace
"nbd://127.0.0.1:10810" by "TEST_DIR/t.IMGFMT", since the former is the
way to express the full image path (normally the latter) for NBD tests.

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


  Commit: 1ce52846d3ce0e4b58caebcae84719bef6401fbb
      
https://github.com/qemu/qemu/commit/1ce52846d3ce0e4b58caebcae84719bef6401fbb
  Author: Max Reitz <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/nbd-client.c
    M block/nbd-client.h
    M block/nbd.c
    M include/block/nbd.h
    M nbd.c
    M qemu-nbd.c
    M tests/qemu-iotests/083
    M tests/qemu-iotests/083.out

  Log Message:
  -----------
  nbd: Improve error messages

This patch makes use of the Error object for nbd_receive_negotiate() so
that errors during negotiation look nicer.

Furthermore, this patch adds an additional error message if the received
magic was wrong, but would be correct for the other protocol version,
respectively: So if an export name was specified, but the NBD server
magic corresponds to an old handshake, this condition is explicitly
signaled to the user, and vice versa.

As these messages are now part of the "Could not open image" error
message, additional filtering has to be employed in iotest 083, which
this patch does as well.

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


  Commit: 75af1f34cd5b07c3c7fcf86dfc99a42de48a600d
      
https://github.com/qemu/qemu/commit/75af1f34cd5b07c3c7fcf86dfc99a42de48a600d
  Author: Peter Lieven <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

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

  Log Message:
  -----------
  block: introduce BDRV_REQUEST_MAX_SECTORS

we check and adjust request sizes at several places with
sometimes inconsistent checks or default values:
 INT_MAX
 INT_MAX >> BDRV_SECTOR_BITS
 UINT_MAX >> BDRV_SECTOR_BITS
 SIZE_MAX >> BDRV_SECTOR_BITS

This patches introdocues a macro for the maximal allowed sectors
per request and uses it at several places.

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


  Commit: fa21e6faa6f1d7de49fd030ebdb0722b59cf9a41
      
https://github.com/qemu/qemu/commit/fa21e6faa6f1d7de49fd030ebdb0722b59cf9a41
  Author: Denis V. Lunev <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/nbd.c

  Log Message:
  -----------
  nbd: fix max_discard/max_transfer_length

nbd_co_discard calls nbd_client_session_co_discard which uses uint32_t
as the length in bytes of the data to discard due to the following
definition:

struct nbd_request {
    uint32_t magic;
    uint32_t type;
    uint64_t handle;
    uint64_t from;
    uint32_t len; <-- the length of data to be discarded, in bytes
} QEMU_PACKED;

Thus we should limit bl_max_discard to UINT32_MAX >> BDRV_SECTOR_BITS to
avoid overflow.

NBD read/write code uses the same structure for transfers. Fix
max_transfer_length accordingly.

Signed-off-by: Denis V. Lunev <address@hidden>
CC: Peter Lieven <address@hidden>
CC: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 8e8cb375e0964b4ed099cb8563029028db26a834
      
https://github.com/qemu/qemu/commit/8e8cb375e0964b4ed099cb8563029028db26a834
  Author: Alberto Garcia <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/qcow2-cache.c

  Log Message:
  -----------
  block: Give always priority to unused entries in the qcow2 L2 cache

The current algorithm to replace entries from the L2 cache gives
priority to newer hits by dividing the hit count of all existing
entries by two everytime there is a cache miss.

However, if there are several cache misses the hit count of the
existing entries can easily go down to 0. This will result in those
entries being replaced even when there are others that have never been
used.

This problem is more noticeable with larger disk images and cache
sizes, since the chances of having several misses before the cache is
full are higher.

If we make sure that the hit count can never go down to 0 again,
unused entries will always have priority.

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


  Commit: 8c44dfbc62a50a8bc4113f199b8662861f757591
      
https://github.com/qemu/qemu/commit/8c44dfbc62a50a8bc4113f199b8662861f757591
  Author: Max Reitz <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/qcow2-refcount.c

  Log Message:
  -----------
  qcow2: Rewrite qcow2_alloc_bytes()

qcow2_alloc_bytes() is a function with insufficient error handling and
an unnecessary goto. This patch rewrites it.

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


  Commit: 24d6bffe8ab523b1dcd8b8a2be678775f3e26b1c
      
https://github.com/qemu/qemu/commit/24d6bffe8ab523b1dcd8b8a2be678775f3e26b1c
  Author: Markus Armbruster <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M blockdev.c

  Log Message:
  -----------
  blockdev: Give find_block_job() an Error ** parameter

When find_block_job() fails, all its callers build the same Error
object.  Build it in find_block_job() instead.

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


  Commit: 2e3a0266bd84a9be9f5e23c1568db6eb7f3e9e94
      
https://github.com/qemu/qemu/commit/2e3a0266bd84a9be9f5e23c1568db6eb7f3e9e94
  Author: Markus Armbruster <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M blockdev.c
    M include/qapi/qmp/qerror.h

  Log Message:
  -----------
  blockdev: Eliminate silly QERR_BLOCK_JOB_NOT_ACTIVE macro

The QERR_ macros are leftovers from the days of "rich" error objects.
They're used with error_set() and qerror_report(), and expand into the
first *two* arguments.  This trickiness has become pointless.  Clean
this one up.

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


  Commit: 4d2855a348c5e90f56584ab9777fc877965ca2e0
      
https://github.com/qemu/qemu/commit/4d2855a348c5e90f56584ab9777fc877965ca2e0
  Author: Markus Armbruster <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block.c
    M blockdev.c
    M include/block/block.h
    M monitor.c
    M qmp.c

  Log Message:
  -----------
  block: New bdrv_add_key(), convert monitor to use it

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


  Commit: b1ca639184d93984551b423d8e538ad4add5eb15
      
https://github.com/qemu/qemu/commit/b1ca639184d93984551b423d8e538ad4add5eb15
  Author: Markus Armbruster <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

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

  Log Message:
  -----------
  block: Eliminate silly QERR_ macros used for encryption keys

The QERR_ macros are leftovers from the days of "rich" error objects.
They're used with error_set() and qerror_report(), and expand into the
first *two* arguments.  This trickiness has become pointless.  Clean
up QERR_DEVICE_ENCRYPTED and QERR_DEVICE_NOT_ENCRYPTED.

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


  Commit: 8333c0dff14a8a16c8ad3a95c6ea09f9d6f395b3
      
https://github.com/qemu/qemu/commit/8333c0dff14a8a16c8ad3a95c6ea09f9d6f395b3
  Author: Kevin Wolf <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block.c
    M blockdev.c
    M include/block/block.h
    M include/qapi/qmp/qerror.h
    M monitor.c
    M qmp.c

  Log Message:
  -----------
  Merge remote-tracking branch 'mreitz/block' into queue-block

* mreitz/block:
  block: Eliminate silly QERR_ macros used for encryption keys
  block: New bdrv_add_key(), convert monitor to use it
  blockdev: Eliminate silly QERR_BLOCK_JOB_NOT_ACTIVE macro
  blockdev: Give find_block_job() an Error ** parameter


  Commit: 728dacbda817b2ca259e9d337fab06bcf14e94a6
      
https://github.com/qemu/qemu/commit/728dacbda817b2ca259e9d337fab06bcf14e94a6
  Author: Programmingkid <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block/raw-posix.c

  Log Message:
  -----------
  block/raw-posix.c: Fix raw_getlength() on Mac OS X block devices

This patch replaces the dummy code in raw_getlength() for block devices
on OS X, which always returned LLONG_MAX, with a real implementation
that returns the actual block device size.

Signed-off-by: John Arbuckle <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Tested-by: Peter Maydell <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 3d815ac82b0a3e816fd7a6d2561a73e780c3b685
      
https://github.com/qemu/qemu/commit/3d815ac82b0a3e816fd7a6d2561a73e780c3b685
  Author: Peter Maydell <address@hidden>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M block.c
    M block/Makefile.objs
    M block/accounting.c
    M block/block-backend.c
    M block/dmg.c
    M block/nbd-client.c
    M block/nbd-client.h
    M block/nbd.c
    M block/qapi.c
    M block/qcow.c
    M block/qcow2-cache.c
    M block/qcow2-refcount.c
    M block/qcow2.c
    M block/qed.c
    M block/qed.h
    M block/raw-posix.c
    A block/write-threshold.c
    M blockdev.c
    M configure
    M hmp.c
    M hw/block/dataplane/virtio-blk.c
    M hw/block/virtio-blk.c
    M hw/ide/atapi.c
    M hw/ide/core.c
    M hw/ide/internal.h
    M hw/ide/pci.c
    M include/block/accounting.h
    M include/block/block.h
    M include/block/block_int.h
    M include/block/nbd.h
    A include/block/write-threshold.h
    M include/hw/virtio/virtio-blk.h
    M include/qapi/qmp/qerror.h
    M include/sysemu/block-backend.h
    M monitor.c
    M nbd.c
    M qapi/block-core.json
    M qemu-img.c
    M qemu-nbd.c
    M qmp-commands.hx
    M qmp.c
    M tests/Makefile
    M tests/qemu-iotests/067.out
    M tests/qemu-iotests/083
    M tests/qemu-iotests/083.out
    M tests/qemu-iotests/100
    M tests/qemu-iotests/104
    A tests/qemu-iotests/116
    A tests/qemu-iotests/116.out
    M tests/qemu-iotests/common.filter
    M tests/qemu-iotests/common.rc
    M tests/qemu-iotests/group
    M tests/qemu-iotests/iotests.py
    A tests/test-write-threshold.c
    M trace-events

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

Block patches for 2.3

# gpg: Signature made Fri 06 Feb 2015 17:14:10 GMT using RSA key ID C88F2FD6
# gpg: Good signature from "Kevin Wolf <address@hidden>"

* remotes/kevin/tags/for-upstream: (47 commits)
  block/raw-posix.c: Fix raw_getlength() on Mac OS X block devices
  block: Eliminate silly QERR_ macros used for encryption keys
  block: New bdrv_add_key(), convert monitor to use it
  blockdev: Eliminate silly QERR_BLOCK_JOB_NOT_ACTIVE macro
  blockdev: Give find_block_job() an Error ** parameter
  qcow2: Rewrite qcow2_alloc_bytes()
  block: Give always priority to unused entries in the qcow2 L2 cache
  nbd: fix max_discard/max_transfer_length
  block: introduce BDRV_REQUEST_MAX_SECTORS
  nbd: Improve error messages
  iotests: Fix 104 for NBD
  iotests: Fix 100 for nbd
  iotests: Fix 083
  block: fix off-by-one error in qcow and qcow2
  qemu-iotests: add 116 invalid QED input file tests
  qed: check for header size overflow
  block/dmg: improve zeroes handling
  block/dmg: support bzip2 block entry types
  block/dmg: factor out block type check
  block/dmg: use SectorNumber from BLKX header
  ...

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


  Commit: 89db21771782fd6050335e73542064f1187c9ced
      
https://github.com/qemu/qemu/commit/89db21771782fd6050335e73542064f1187c9ced
  Author: Leon Yu <address@hidden>
  Date:   2015-02-09 (Mon, 09 Feb 2015)

  Changed paths:
    M qmp.c

  Log Message:
  -----------
  qmp: unbreak build for non-vnc configuration

Signed-off-by: Leon Yu <address@hidden>
Message-id: address@hidden
Fixes: df887684603a ("monitor: add query-vnc-servers command")
Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/a2f2d288b5a0...89db21771782

reply via email to

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