Statistics
| Branch: | Revision:

root / block @ 7371d56f

# Date Author Comment
4790b03d 01/24/2013 04:37 pm Paolo Bonzini

iscsi: do not leak acb->buf when commands are aborted

acb->buf is freed in the WRITE callback, but this may not
get called at all when commands are aborted. Add another
free in the ABORT TASK callback, which requires setting acb->buf
to NULL everywhere....

7371d56f 01/24/2013 04:37 pm Peter Lieven

iscsi: add support for iovectors

This patch adds support for directly passing the iovec
array from QEMUIOVector if libiscsi supports it (1.8.0
or newer).

Signed-off-by: Peter Lieven <>
[Preserve the improvements from commit 4cc841b, iscsi: partly...

177f7fc6 01/23/2013 05:08 pm Anthony Liguori

Merge remote-tracking branch 'bonzini/scsi-next' into staging

  1. By Peter Lieven (3) and others
  2. Via Paolo Bonzini
    • bonzini/scsi-next:
      scsi: Drop useless null test in scsi_unit_attention()
      lsi: use qbus_reset_all to reset SCSI bus
      scsi: fix segfault with 0-byte disk...
de8864e5 01/22/2013 04:07 pm Peter Lieven

iscsi: add iscsi_create support

This patch adds support for bdrv_create. This allows e.g.
to use qemu-img to convert from any supported device to
an iscsi backed storage as destination.

Signed-off-by: Peter Lieven <>
Signed-off-by: Paolo Bonzini <>

4cc841b5 01/22/2013 04:07 pm Peter Lieven

iscsi: partly avoid iovec linearization in iscsi_aio_writev

libiscsi expects all write16 data in a linear buffer. If the
iovec only contains one buffer we can skip the linearization
step as well as the additional malloc/free and pass the
buffer directly....

5b5d34ec 01/22/2013 04:07 pm Peter Lieven

iscsi: add support for iSCSI NOPs [v2]

This patch will send NOP-Out PDUs every 5 seconds to the iSCSI target.
If a consecutive number of NOP-In replies fail a reconnect is initiated.
iSCSI NOPs help to ensure that the connection to the target is still operational....

8b17ed4c 01/20/2013 07:01 pm Anthony Liguori

Merge remote-tracking branch 'stefanha/block' into staging

  1. By Kevin Wolf (4) and others
  2. Via Stefan Hajnoczi
    • stefanha/block:
      dataplane: support viostor virtio-pci status bit setting
      dataplane: avoid reentrancy during virtio_blk_data_plane_stop()...
c36dd8a0 01/19/2013 04:35 pm Andreas Färber

block/raw-posix: Make hdev_aio_discard() available outside Linux

Fixes the build on OpenBSD among others.

Suggested-by: Kevin Wolf <>
Signed-off-by: Andreas Färber <>
Cc: Paolo Bonzini <>
Signed-off-by: Blue Swirl <>

3249dbe6 01/18/2013 10:57 am Michael Tokarev

win32-aio: use iov utility functions instead of open-coding them

We have iov_from_buf() and iov_to_buf(), use them instead of
open-coding these in block/win32-aio.c

Signed-off-by: Stefan Hajnoczi <>

e8bccad5 01/17/2013 11:58 am Kevin Wolf

win32-aio: Fix memory leak

The buffer is allocated for both reads and writes, and obviously it
should be freed even if an error occurs.

Cc:
Signed-off-by: Kevin Wolf <>
Signed-off-by: Stefan Hajnoczi <>

bcbbd234 01/17/2013 11:57 am Kevin Wolf

win32-aio: Fix vectored reads

Copying data in the right direction really helps a lot!

Cc:
Signed-off-by: Kevin Wolf <>
Signed-off-by: Stefan Hajnoczi <>

6d759117 01/17/2013 11:51 am Jeff Cody

block: fix null-pointer bug on error case in block commit

This is a bug that was caught by a coverity run by Markus. In
the error case when we errored out to exit_restore_open early in the
function, 'overlay_bs' was still NULL at that point, although it is...

7191bf31 01/15/2013 06:28 pm Markus Armbruster

block: Fix how mirror_run() frees its buffer

It allocates with qemu_blockalign(), therefore it must free with
qemu_vfree(), not g_free().

Signed-off-by: Markus Armbruster <>
Signed-off-by: Stefan Hajnoczi <>

7479acdb 01/15/2013 05:47 pm Markus Armbruster

win32-aio: Fix how win32_aio_process_completion() frees buffer

win32_aio_submit() allocates it with qemu_blockalign(), therefore it
must be freed with qemu_vfree(), not g_free().

Signed-off-by: Markus Armbruster <>
Reviewed-by: Kevin Wolf <>...

f700f8e3 01/15/2013 02:40 pm Liu Yuan

sheepdog: clean up sd_aio_setup()

The last two parameters of sd_aio_setup() are never used, so remove them.

Cc: MORITA Kazutaka <>
Cc: Kevin Wolf <>
Cc: Stefan Hajnoczi <>
Signed-off-by: Liu Yuan <>...

47783072 01/15/2013 12:18 pm Liu Yuan

sheepdog: multiplex the rw FD to flush cache

This will reduce sockfds connected to the sheep server to one, which simply the
future hacks.

Cc: MORITA Kazutaka <>
Cc: Kevin Wolf <>
Cc: Stefan Hajnoczi <>...

3d4fa43e 01/15/2013 11:03 am Kusanagi Kouichi

raw-posix: support discard on more filesystems

Linux 2.6.38 introduced the filesystem independent interface to
deallocate part of a file. As of Linux 3.7, btrfs, ext4, ocfs2,
tmpfs and xfs support it.

Even though the system calls here are in practice issued on Linux,...

c85191e5 01/15/2013 11:03 am Paolo Bonzini

raw-posix: remember whether discard failed

Avoid sending system calls repeatedly if they shall fail. This
does not apply to XFS: if the filesystem-specific ioctl fails,
something weird is happening.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Stefan Hajnoczi <>

fcd9d455 01/15/2013 11:03 am Paolo Bonzini

raw: support discard on block devices

Block devices use a ioctl instead of fallocate, so add a separate
implementation.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Stefan Hajnoczi <>

8238010b 01/15/2013 11:03 am Paolo Bonzini

block: make discard asynchronous

This is easy with the thread pool, because we can use s->is_xfs and
s->has_discard from the worker function.

QEMU has a widespread assumption that each I/O operation writes less
than 2^32 bytes. This patch doesn't fix it throughout of course,...

8d2497c3 01/15/2013 10:08 am Kevin Wolf

qcow2: Fix segfault on zero-length write

One of the recent refactoring patches (commit f50f88b9) didn't take care
to initialise l2meta properly, so with zero-length writes, which don't
even enter the write loop, qemu just segfaulted.

Signed-off-by: Kevin Wolf <>...

da758bd7 01/14/2013 06:26 pm Anthony Liguori

Merge remote-tracking branch 'kwolf/for-anthony' into staging

  • kwolf/for-anthony:
    dataplane: handle misaligned virtio-blk requests
    dataplane: extract virtio-blk read/write processing into do_rdwr_cmd()
    block: make qiov_is_aligned() public
    raw-posix: fix bdrv_aio_ioctl...
0e7106d8 01/14/2013 11:06 am Liu Yuan

sheepdog: implement direct write semantics

Sheepdog supports both writeback/writethrough write but has not yet supported
DIRECTIO semantics which bypass the cache completely even if Sheepdog daemon is
set up with cache enabled.

Suppose cache is enabled on Sheepdog daemon size, the new cache control is...

b608c8dc 01/14/2013 11:06 am Paolo Bonzini

raw-posix: fix bdrv_aio_ioctl

When the raw-posix aio=thread code was moved from posix-aio-compat.c
to block/raw-posix.c, there was an unintended change to the ioctl code.
The code used to return the ioctl command, which posix_aio_read()
would later morph into a zero. This hack is not necessary anymore,...

c53b1c51 01/14/2013 11:06 am Stefan Hajnoczi

block: make qiov_is_aligned() public

The qiov_is_aligned() function checks whether a QEMUIOVector meets a
BlockDriverState's alignment requirements. This is needed by
virtio-blk-data-plane so:

1. Move the function from block/raw-posix.c to block/block.c....

4d454574 01/12/2013 06:17 pm Paolo Bonzini

qemu-option: move standard option definitions out of qemu-config.c

Signed-off-by: Paolo Bonzini <>

eb7ff6fb 01/11/2013 10:44 am Stefan Weil

Replace remaining gmtime, localtime by gmtime_r, localtime_r

This allows removing of MinGW specific code and improves
reentrancy for POSIX hosts.

[Removed unused ret variable in qemu_get_timedate() to fix warning:
vl.c: In function ‘qemu_get_timedate’:
vl.c:451:16: error: variable ‘ret’ set but not used [-Werror=unused-but-set-variable]...

d6b1ef89 01/02/2013 05:09 pm Liu Yuan

sheepdog: pass oid directly to send_pending_req()

Cc: MORITA Kazutaka <>
Cc: Kevin Wolf <>
Signed-off-by: Liu Yuan <>
Reviewed-by: MORITA Kazutaka <>
Signed-off-by: Stefan Hajnoczi <>

bd751f22 01/02/2013 05:08 pm Liu Yuan

sheepdog: don't update inode when create_and_write fails

For the error case such as SD_RES_NO_SPACE, we shouldn't update the inode bitmap
to avoid the scenario that the object is allocated but wasn't created at the
server side. This will result in VM's IO error on the failed object....

fccedc62 01/02/2013 05:08 pm Stefan Weil

block/raw-win32: Fix compiler warnings (wrong format specifiers)

Commit fbcad04d6bfdff937536eb23088a01a280a1a3af added fprintf statements
with wrong format specifiers.

GetLastError() returns a DWORD which is unsigned long, so %lu must be used.

Signed-off-by: Stefan Weil <>...

4065742a 01/02/2013 04:31 pm Stefan Hajnoczi

raw-posix: add raw_get_aio_fd() for virtio-blk-data-plane

The raw_get_aio_fd() function allows virtio-blk-data-plane to get the
file descriptor of a raw image file with Linux AIO enabled. This
interface is really a layering violation that can be resolved once the...

9c17d615 12/19/2012 09:32 am Paolo Bonzini

softmmu: move include files to include/sysemu/

Signed-off-by: Paolo Bonzini <>

1de7afc9 12/19/2012 09:32 am Paolo Bonzini

misc: move include files to include/qemu/

Signed-off-by: Paolo Bonzini <>

caf71f86 12/19/2012 09:31 am Paolo Bonzini

migration: move include files to include/migration/

Signed-off-by: Paolo Bonzini <>

7b1b5d19 12/19/2012 09:31 am Paolo Bonzini

qapi: move include files to include/qobject/

Signed-off-by: Paolo Bonzini <>

737e150e 12/19/2012 09:31 am Paolo Bonzini

block: move include files to include/block/

Signed-off-by: Paolo Bonzini <>

f8fe7964 12/19/2012 09:29 am Paolo Bonzini

janitor: do not include qemu-char everywhere

Touching char/char.h basically causes the whole of QEMU to
be rebuilt. Avoid this, it is usually unnecessary.

Signed-off-by: Paolo Bonzini <>

077805fa 12/19/2012 09:29 am Paolo Bonzini

janitor: do not rely on indirect inclusions of or from qemu-char.h

Various header files rely on qemu-char.h including qemu-config.h or
main-loop.h, but they really do not need qemu-char.h at all (particularly
interesting is the case of the block layer!). Clean this up, and also...

525877c9 12/19/2012 09:29 am Paolo Bonzini

build: move rules from Makefile to */Makefile.objs

Signed-off-by: Paolo Bonzini <>

1d3afd64 12/13/2012 04:37 pm Kevin Wolf

qcow2: Round QCowL2Meta.offset down to cluster boundary

The offset within the cluster is already present as n_start and this is
what the code uses. QCowL2Meta.offset is only needed at a cluster
granularity.

Signed-off-by: Kevin Wolf <>

593fb83c 12/13/2012 04:37 pm Kevin Wolf

qcow2: Introduce Qcow2COWRegion

This makes it easier to address the areas for which a COW must be
performed. As a nice side effect, the COW code in
qcow2_alloc_cluster_link_l2 becomes really trivial.

Signed-off-by: Kevin Wolf <>

cf5c1a23 12/13/2012 04:37 pm Kevin Wolf

qcow2: Allocate l2meta dynamically

As soon as delayed COW is introduced, the l2meta struct is needed even
after completion of the request, so it can't live on the stack.

Signed-off-by: Kevin Wolf <>

060bee89 12/13/2012 04:37 pm Kevin Wolf

qcow2: Drop l2meta.cluster_offset

There's no real reason to have an l2meta for normal requests that don't
allocate anything. Before we can get rid of it, we must return the host
cluster offset in a different way.

Signed-off-by: Kevin Wolf <>

f50f88b9 12/13/2012 04:37 pm Kevin Wolf

qcow2: Allocate l2meta only for cluster allocations

Even for writes to already allocated clusters, an l2meta is allocated,
though it stays effectively unused. After this patch, only allocating
requests still have one. Each l2meta now describes an in-flight request...

280d3735 12/13/2012 04:37 pm Kevin Wolf

qcow2: Enable dirty flag in qcow2_alloc_cluster_link_l2

This is closer to where the dirty flag is really needed, and it avoids
having checks for special cases related to cluster allocation directly
in the writev loop.

Signed-off-by: Kevin Wolf <>

4e95314e 12/13/2012 04:37 pm Kevin Wolf

qcow2: Execute run_dependent_requests() without lock

There's no reason for run_dependent_requests() to hold s->lock, and a
later patch will require that in fact the lock is not held.

Also, before this patch, run_dependent_requests() not only does what its...

226c3c26 12/13/2012 04:37 pm Kevin Wolf

qcow2: Factor out handle_dependencies()

Signed-off-by: Kevin Wolf <>

312a2ba0 12/12/2012 01:33 pm Kevin Wolf

blkdebug: Allow usage without config file

As soon as new rules can be set during runtime, as introduced by the
next patch, blkdebug makes sense even without a config file.

Signed-off-by: Kevin Wolf <>

9e35542b 12/12/2012 01:33 pm Kevin Wolf

blkdebug: Factor out remove_rule()

The cleanup work to remove a rule depends on the type of the rule. It's
easy for the existing rules as there is no data that must be cleaned up
and is specific to a type yet, but the next patch will change this.

Signed-off-by: Kevin Wolf <>

3c90c65d 12/12/2012 01:33 pm Kevin Wolf

blkdebug: Implement suspend/resume of AIO requests

This allows more systematic AIO testing. The patch adds three new
operations to blkdebug:

  • Setting a "breakpoint" on a blkdebug event. The next request that
    triggers this breakpoint is suspended and is tagged with a name....
67a7a0eb 12/12/2012 01:33 pm Kevin Wolf

qcow2: Move BLKDBG_EVENT out of the lock

We want to use these events to suspend requests for testing concurrent
AIO requests. Suspending requests while they are holding the CoMutex is
rather boring for this purpose.

Signed-off-by: Kevin Wolf <>

fbcad04d 12/11/2012 12:36 pm Fabien Chouteau

Fix error code checking for SetFilePointer() call

An error has occurred if the return value is invalid_set_file_pointer
and getlasterror doesn't return no_error.

Signed-off-by: Fabien Chouteau <>
Acked-by: Stefan Hajnoczi <>

473c7f02 12/11/2012 12:05 pm Stefan Priebe

rbd: Fix race between aio completition and aio cancel

This one fixes a race which qemu had also in iscsi block driver
between cancellation and io completition.

qemu_rbd_aio_cancel was not synchronously waiting for the end of
the command.

To archieve this it introduces a new status flag which uses...

258d2edb 12/11/2012 12:04 pm Charles Arnold

block: vpc support for ~2 TB disks

The VHD specification allows for up to a 2 TB disk size. The current
implementation in qemu emulates EIDE and ATA-2 hardware which only allows
for up to 127 GB. This disk size limitation can be overridden by allowing
up to 255 heads instead of the normal 4 bit limitation of 16. Doing so...

c208e8c2 12/11/2012 12:04 pm Paolo Bonzini

raw-posix: inline paio_ioctl into hdev_aio_ioctl

clang now warns about an unused function:
CC block/raw-posix.o
block/raw-posix.c:707:26: warning: unused function paio_ioctl
[-Wunused-function]
static BlockDriverAIOCB *paio_ioctl(BlockDriverState *bs, int fd,...

c57b6656 12/11/2012 12:04 pm Kevin Wolf

aio: Get rid of qemu_aio_flush()

There are no remaining users, and new users should probably be
using bdrv_drain_all() in the first place.

Signed-off-by: Kevin Wolf <>

1fe1fa51 12/11/2012 12:04 pm Charles Arnold

block: vpc initialize the uuid footer field

Initialize the uuid field in the footer with a generated uuid.

Signed-off-by: Charles Arnold <>
Reviewed-by: Paolo Bonzini <>
Signed-off-by: Stefan Hajnoczi <>

f807ecd5 11/28/2012 01:51 pm Peter Lieven

iscsi: do not assume device is zero initialized

Without any complex checks we can't assume that an
iscsi target is initialized to zero.

Signed-off-by: Peter Lieven <>
Signed-off-by: Paolo Bonzini <>

e829b0bb 11/28/2012 01:50 pm Peter Lieven

iscsi: fix deadlock during login

If the connection is interrupted before the first login is successfully
completed qemu-kvm is waiting forever in qemu_aio_wait().

This is fixed by performing an sync login to the target. If the
connection breaks after the first successful login errors are...

8da1e18b 11/28/2012 01:46 pm Peter Lieven

iscsi: fix segfault in url parsing

If an invalid URL is specified iscsi_get_error(iscsi) is called
with iscsi == NULL.

Signed-off-by: Peter Lieven <>
Signed-off-by: Paolo Bonzini <>

08448d51 11/21/2012 10:43 am Stefan Priebe

use int64_t for return values from rbd instead of int

rbd / rados tends to return pretty often length of writes
or discarded blocks. These values might be bigger than int.

The steps to reproduce are:

mkfs.xfs -f a whole device bigger than int in bytes. mkfs.xfs sends...
1bc6b705 11/21/2012 10:40 am Jeff Cody

block: add bdrv_reopen() support for raw hdev, floppy, and cdrom

For hdev, floppy, and cdrom, the reopen() handlers are the same as
for the file reopen handler. For floppy and cdrom types, however,
we keep O_NONBLOCK, as in the _open function.

Signed-off-by: Jeff Cody <>...

8ba2aae3 11/21/2012 10:40 am Stefan Hajnoczi

vdi: don't override libuuid symbols

It's poor symbol hygiene to provide a global symbols that collide with a
common library like libuuid. If QEMU links against a shared library
that depends on uuid_generate() it can end up calling our stub version
of the function....

b1649fae 11/14/2012 07:19 pm Gerhard Wiesinger

vmdk: Fix data corruption bug in WRITE and READ handling

Fixed a MAJOR BUG in VMDK files on file boundaries on reads
and ALSO ON WRITES WHICH MIGHT CORRUPT THE IMAGE AND DATA!!!!!!

Triggered for example with the following VMDK file (partly listed):
RW 4193792 FLAT "XP-W1-f001.vmdk" 0...

a3548077 11/14/2012 07:19 pm Kevin Wolf

qcow2: Fix refcount table size calculation

A missing factor for the refcount table entry size in the calculation
could mean that too little memory was allocated for the in-memory
representation of the table, resulting in a buffer overflow.

Signed-off-by: Kevin Wolf <>...

cee40d2d 11/14/2012 07:19 pm Stefan Weil

block: Workaround for older versions of MinGW gcc

Versions before gcc-4.6 don't support unnamed fields in initializers
(see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10676).

Offset and OffsetHigh belong to an unnamed struct which is part of an
unnamed union. Therefore the original code does not work with older...

d7331bed 11/14/2012 07:19 pm Stefan Hajnoczi

aio: rename AIOPool to AIOCBInfo

Now that AIOPool no longer keeps a freelist, it isn't really a "pool"
anymore. Rename it to AIOCBInfo and make it const since it no longer
needs to be modified.

Signed-off-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

1d7d2a9d 11/12/2012 03:38 pm Paolo Bonzini

nbd: accept URIs

The URI syntax is consistent with the Gluster syntax. Export names
are specified in the path, preceded by one or more (otherwise unused)
slashes.

Signed-off-by: Paolo Bonzini <>

d04b0bbb 11/12/2012 12:33 pm Paolo Bonzini

nbd: accept relative path to Unix socket

Adding the "is_unix" member now will simplify the parsing of NBD URIs.

Signed-off-by: Paolo Bonzini <>

f563a5d7 10/31/2012 11:42 am Paolo Bonzini

Merge remote-tracking branch 'origin/master' into threadpool

Signed-off-by: Paolo Bonzini <>

fc4edb84 10/31/2012 11:38 am Paolo Bonzini

raw-win32: add emulated AIO support

Signed-off-by: Paolo Bonzini <>

10fb6e06 10/31/2012 11:38 am Paolo Bonzini

raw-posix: move linux-aio.c to block/

Signed-off-by: Paolo Bonzini <>

a2736526 10/31/2012 11:38 am Paolo Bonzini

raw-win32: implement native asynchronous I/O

With the new support for EventNotifiers in the AIO event loop, we
can hook a completion port to every opened file and use asynchronous
I/O on them.

Wine's support is extremely inefficient, also because it really does...

47e6b251 10/31/2012 11:38 am Paolo Bonzini

block: switch posix-aio-compat to threadpool

This is not meant for portability, but to remove code duplication.

Signed-off-by: Paolo Bonzini <>

de81a169 10/31/2012 11:38 am Paolo Bonzini

raw: merge posix-aio-compat.c into block/raw-posix.c

Making the qemu_paiocb specific to raw devices will let us access members
of the BDRVRawState arbitrarily.

Signed-off-by: Paolo Bonzini <>

9f8540ec 10/31/2012 11:38 am Paolo Bonzini

raw-posix: rename raw-posix-aio.h, hide unavailable prototypes

Signed-off-by: Paolo Bonzini <>

f42b2207 10/30/2012 10:30 am Paolo Bonzini

aio: add Win32 implementation

The Win32 implementation will only accept EventNotifiers, thus a few
drivers are disabled under Windows. EventNotifiers are a good match
for the GSource implementation, too, because the Win32 port of glib
allows to place their HANDLEs in a GPollFD....

d63ffd87 10/24/2012 11:26 am Paolo Bonzini

mirror: implement completion

Switching to the target of the migration is done mostly asynchronously,
and reported to management via the BLOCK_JOB_COMPLETED event; the only
synchronous phase is opening the backing files. bdrv_open_backing_file
can always be done, even for migration of the full image (aka sync:...

b952b558 10/24/2012 11:26 am Paolo Bonzini

mirror: add support for on-source-error/on-target-error

Error management is important for mirroring; otherwise, an error on the
target (even something as "innocent" as ENOSPC) requires to start again
with a full copy. Similar to on_read_error/on_write_error, two separate...

d5208c45 10/24/2012 11:26 am Jeff Cody

block: in commit, determine base image from the top image

This simplifies some code and error checking, and also fixes a bug.

bdrv_find_backing_image() should only be passed absolute filenames,
or filenames relative to the chain. In the QMP message handler for...

65f46322 10/24/2012 11:26 am Paolo Bonzini

block: rename block_job_complete to block_job_completed

The imperative will be used for the QMP command.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Kevin Wolf <>

893f7eba 10/24/2012 11:26 am Paolo Bonzini

mirror: introduce mirror job

This patch adds the implementation of a new job that mirrors a disk to
a new image while letting the guest continue using the old image.
The target is treated as a "black box" and data is copied from the
source to the target in the background. This can be used for several...

2f536801 10/12/2012 11:47 am MORITA Kazutaka

sheepdog: use bool for boolean variables

This improves readability.

Signed-off-by: MORITA Kazutaka <>
Signed-off-by: Stefan Hajnoczi <>

048d3612 10/06/2012 07:54 pm Aurelien Jarno

Merge branch 'trivial-patches' of git://github.com/stefanha/qemu

  • 'trivial-patches' of git://github.com/stefanha/qemu:
    versatilepb: Use symbolic indices for ARM PIC
    qdev: kill bogus comment
    qemu-barrier: Fix compiler version check for future gcc versions...
4d5b97da 10/05/2012 04:10 pm Amos Kong

cleanup useless return sentence

This patch cleans up return sentences in the end of void functions.

Reported-by: Paolo Bonzini <>
Signed-off-by: Amos Kong <>
Signed-off-by: Stefan Hajnoczi <>

00ea1881 10/05/2012 03:58 pm Jim Meyering

qcow2: mark this file's sole strncpy use as justified

Acked-by: Kevin Wolf <>
Signed-off-by: Jim Meyering <>
Signed-off-by: Anthony Liguori <>

3178e275 10/05/2012 03:58 pm Jim Meyering

sheepdog: avoid a few buffer overruns

  • parse_vdiname: Use pstrcpy, not strncpy, when the destination
    buffer must be NUL-terminated.
  • sd_open: Likewise, avoid buffer overrun.
  • do_sd_create: Likewise. Leave the preceding memset, since
    pstrcpy does not NUL-fill, and filename needs that....
d66f8e7b 10/05/2012 03:58 pm Jim Meyering

vmdk: relative_path: use pstrcpy in place of strncpy

Avoid strncpy+manual-NUL-terminate. Use pstrcpy instead.

Acked-by: Kevin Wolf <>
Signed-off-by: Jim Meyering <>
Signed-off-by: Anthony Liguori <>

1d809098 09/28/2012 08:40 pm Paolo Bonzini

stream: add on-error argument

This patch adds support for error management to streaming.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Eric Blake <>
Signed-off-by: Kevin Wolf <>

8f96b5be 09/28/2012 08:40 pm Paolo Bonzini

blkdebug: process all set_state rules in the old state

Currently it is impossible to write a blkdebug script that ping-pongs
between two states, because the second set-state rule will use the
state that is set in the first. If you have

[set-state]
event = "..."...
92aa5c6d 09/28/2012 08:40 pm Paolo Bonzini

iostatus: move BlockdevOnError declaration to QAPI

This will let block-stream reuse the enum. Places that used the enums
are renamed accordingly.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Eric Blake <>
Signed-off-by: Kevin Wolf <>

2f0c9fe6 09/28/2012 08:14 pm Paolo Bonzini

block: move job APIs to separate files

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Eric Blake <>
Signed-off-by: Kevin Wolf <>

747ff602 09/28/2012 07:23 pm Jeff Cody

block: add live block commit functionality

This adds the live commit coroutine. This iteration focuses on the
commit only below the active layer, and not the active layer itself.

The behaviour is similar to block streaming; the sectors are walked
through, and anything that exists above 'base' is committed back down...

8d6d89cb 09/28/2012 06:58 pm Bharata B Rao

block: Support GlusterFS as a QEMU block backend.

This patch adds gluster as the new block backend in QEMU. This gives
QEMU the ability to boot VM images from gluster volumes. Its already
possible to boot from VM images on gluster volumes using FUSE mount, but...

444dbc38 09/26/2012 12:06 am Anthony Liguori

Merge remote-tracking branch 'kwolf/for-anthony' into staging

  • kwolf/for-anthony:
    block: remove keep_read_only flag from BlockDriverState struct
    block: convert bdrv_commit() to use bdrv_reopen()
    block: vpc image file reopen
    block: vdi image file reopen...
21d82ac9 09/24/2012 04:15 pm Jeff Cody

block: qcow2 image file reopen

These are the stubs for the file reopen drivers for the qcow2 format.

There is currently nothing that needs to be done by the qcow2 driver
in reopen.

Signed-off-by: Jeff Cody <>
Signed-off-by: Kevin Wolf <>

d177692e 09/24/2012 04:15 pm Jeff Cody

block: qcow image file reopen

These are the stubs for the file reopen drivers for the qcow format.

There is currently nothing that needs to be done by the qcow driver
in reopen.

Signed-off-by: Jeff Cody <>
Signed-off-by: Kevin Wolf <>

3897575f 09/24/2012 04:15 pm Jeff Cody

block: vmdk image file reopen

This patch supports reopen for VMDK image files. VMDK extents are added
to the existing reopen queue, so that the transactional model of reopen
is maintained with multiple image files.

Signed-off-by: Jeff Cody <>...

ecfe2bba 09/24/2012 04:15 pm Jeff Cody

block: vdi image file reopen

There is currently nothing that needs to be done for VDI reopen.

Signed-off-by: Jeff Cody <>
Signed-off-by: Kevin Wolf <>

3fe4b700 09/24/2012 04:15 pm Jeff Cody

block: vpc image file reopen

There is currently nothing that needs to be done for VPC image
file reopen.

Signed-off-by: Jeff Cody <>
Signed-off-by: Kevin Wolf <>