Go to file
Kevin Wolf e24e49e619 qcow2: Update whole header at once
In order to switch the backing file, qcow2 issues multiple write
requests that only changed a part of the image header. Any failure after
the first one would leave the header in an corrupted state. With this
patch, the whole header is written at once, so we can't fail in the
middle.

At the same time, this gives us a reusable functions that updates all
fields of the qcow2 header and not only the backing file.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2012-02-09 16:17:51 +01:00
audio
block qcow2: Update whole header at once 2012-02-09 16:17:51 +01:00
bsd-user
darwin-user
default-configs
docs
fpu
fsdev
gdb-xml
hw ARM devboards: Set arm_sysctl properties before init, not after 2012-02-09 12:10:35 +00:00
include/qemu qom: add property get/set wrappers for links 2012-02-07 13:52:41 +01:00
libcacard
linux-headers
linux-user
net
pc-bios
qapi
qga
QMP
qom qom: add property get/set wrappers for links 2012-02-07 13:52:41 +01:00
roms
scripts
slirp
sysconfigs/target
target-alpha
target-arm
target-cris
target-i386
target-lm32
target-m68k
target-microblaze
target-mips
target-ppc
target-s390x
target-sh4
target-sparc
target-unicore32
target-xtensa
tcg
tests
trace
ui
.gitignore
.gitmodules
.mailmap
a.out.h
acl.c
acl.h
aes.c
aes.h
aio.c
alpha-dis.c
alpha.ld
arch_init.c memory: change dirty getting API to take a size 2012-02-04 12:45:10 +00:00
arch_init.h
arm-dis.c
arm-semi.c
arm.ld
async.c
balloon.c
balloon.h
bitmap.c
bitmap.h
bitops.c
bitops.h
block_int.h block: add .bdrv_co_write_zeroes() interface 2012-02-09 16:17:50 +01:00
block-migration.c
block-migration.h
block.c block: perform zero-detection during copy-on-read 2012-02-09 16:17:50 +01:00
block.h block: add .bdrv_co_write_zeroes() interface 2012-02-09 16:17:50 +01:00
blockdev.c Fix build breakage from last commit. 2012-02-03 11:22:35 -06:00
blockdev.h
bswap.h
bt-host.c
bt-host.h
bt-vhci.c
buffered_file.c
buffered_file.h
cache-utils.c
cache-utils.h
Changelog
check-qdict.c
check-qfloat.c
check-qint.c
check-qjson.c
check-qlist.c
check-qstring.c
cmd.c
cmd.h
CODING_STYLE
compatfd.c
compatfd.h
compiler.h
config.h
configure
console.c
console.h
COPYING
COPYING.LIB
coroutine-gthread.c
coroutine-ucontext.c
coroutine-win32.c
cpu-all.h
cpu-common.h
cpu-defs.h
cpu-exec.c
cpus.c
cpus.h
cris-dis.c
cursor_hidden.xpm
cursor_left_ptr.xpm
cursor.c
cutils.c cutils: extract buffer_is_zero() from qemu-img.c 2012-02-09 16:17:50 +01:00
def-helper.h
device_tree.c
device_tree.h
dis-asm.h
disas.c
disas.h
dma-helpers.c
dma.h
dyngen-exec.h
elf.h
envlist.c
envlist.h
error_int.h
error.c
error.h
event_notifier.c
event_notifier.h
exec-all.h
exec-memory.h
exec-obsolete.h memory: change dirty getting API to take a size 2012-02-04 12:45:10 +00:00
exec.c
gdbstub.c
gdbstub.h
gen-icount.h
HACKING
hmp-commands.hx
hmp.c
hmp.h
host-utils.c
host-utils.h
hppa-dis.c
hppa.ld
i386-dis.c
i386.ld
ia64-dis.c
ia64.ld
input.c
int128.h
iohandler.c
ioport-user.c
ioport.c
ioport.h
iorange.h
iov.c
iov.h
json-lexer.c
json-lexer.h
json-parser.c
json-parser.h
json-streamer.c
json-streamer.h
kvm-all.c
kvm-stub.c
kvm.h
libfdt_env.h
LICENSE
linux-aio.c
m68k-dis.c
m68k-semi.c
m68k.ld
main-loop.c
main-loop.h
MAINTAINERS
Makefile
Makefile.dis
Makefile.hw
Makefile.objs container: make a decendent of Object 2012-02-03 10:41:08 -06:00
Makefile.target w32: Build windows and console executables 2012-02-07 18:11:41 +01:00
Makefile.user
memory.c memory: change dirty getting API to take a size 2012-02-04 12:45:10 +00:00
memory.h memory: change dirty getting API to take a size 2012-02-04 12:45:10 +00:00
microblaze-dis.c
migration-exec.c
migration-fd.c
migration-tcp.c
migration-unix.c
migration.c
migration.h
mips-dis.c
mips.ld
module.c
module.h
monitor.c
monitor.h
nbd.c
nbd.h
net.c w32: Fix build with new net bridge code 2012-02-04 11:49:34 +00:00
net.h
notify.c
notify.h
os-posix.c
os-win32.c
osdep.c
osdep.h
oslib-posix.c
oslib-win32.c
path.c
pci-ids.txt
pflib.c
pflib.h
poison.h
posix-aio-compat.c
ppc64.ld
ppc-dis.c
ppc.ld
qapi-schema-guest.json
qapi-schema-test.json
qapi-schema.json qom: move properties from qdev to object 2012-02-03 10:41:08 -06:00
qbool.c
qbool.h
qdict-test-data.txt
qdict.c
qdict.h
qemu_socket.h
qemu-aio.h
qemu-barrier.h
qemu-bridge-helper.c
qemu-char.c qdev: nuke qdev_init_chardev() 2012-02-03 10:41:08 -06:00
qemu-char.h qdev: nuke qdev_init_chardev() 2012-02-03 10:41:08 -06:00
qemu-common.h cutils: extract buffer_is_zero() from qemu-img.c 2012-02-09 16:17:50 +01:00
qemu-config.c iSCSI: add configuration variables for iSCSI 2012-02-09 16:17:50 +01:00
qemu-config.h
qemu-coroutine-int.h
qemu-coroutine-io.c
qemu-coroutine-lock.c
qemu-coroutine-sleep.c
qemu-coroutine.c
qemu-coroutine.h
qemu-doc.texi iSCSI: add configuration variables for iSCSI 2012-02-09 16:17:50 +01:00
qemu-error.c
qemu-error.h
qemu-file.h
qemu-ga.c
qemu-img-cmds.hx
qemu-img.c cutils: extract buffer_is_zero() from qemu-img.c 2012-02-09 16:17:50 +01:00
qemu-img.texi
qemu-io.c qemu-io: add write -z option for bdrv_co_write_zeroes 2012-02-09 16:17:50 +01:00
qemu-lock.h
qemu-log.h
qemu-nbd.c
qemu-nbd.texi
qemu-objects.h
qemu-option.c
qemu-option.h
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx iSCSI: add configuration variables for iSCSI 2012-02-09 16:17:50 +01:00
qemu-os-posix.h
qemu-os-win32.h
qemu-progress.c
qemu-queue.h
qemu-sockets.c
qemu-tech.texi
qemu-thread-posix.c
qemu-thread-posix.h
qemu-thread-win32.c w32: Initialise critical section before starting thread (fix #922131) 2012-02-07 18:11:41 +01:00
qemu-thread-win32.h
qemu-thread.h
qemu-timer-common.c
qemu-timer.c
qemu-timer.h
qemu-tls.h
qemu-tool.c
qemu-x509.h
qemu-xattr.h
qemu.sasl
qerror.c qom: use object_resolve_path_type for links 2012-02-07 13:52:41 +01:00
qerror.h qom: use object_resolve_path_type for links 2012-02-07 13:52:41 +01:00
qfloat.c
qfloat.h
qint.c
qint.h
qjson.c
qjson.h
qlist.c
qlist.h
qmp-commands.hx qom: add new command to search for types 2012-02-03 10:41:07 -06:00
qmp.c qom: add QObject-based property get/set wrappers 2012-02-07 13:52:40 +01:00
qobject.h
qstring.c
qstring.h
range.h
readline.c
readline.h
README
rules.mak
s390-dis.c
s390.ld
savevm.c
sh4-dis.c
softmmu_defs.h
softmmu_exec.h
softmmu_header.h
softmmu_template.h
softmmu-semi.h
sparc64.ld
sparc-dis.c
sparc.ld
spice-qemu-char.c
sysemu.h
targphys.h
tcg-runtime.c
tci-dis.c
tci.c
test-coroutine.c
test-qmp-commands.c
test-qmp-input-visitor.c
test-qmp-output-visitor.c
thunk.c
thunk.h
TODO
trace-events qed: replace is_write with flags field 2012-02-09 16:17:50 +01:00
translate-all.c
uboot_image.h
usb-bsd.c Fix previous commit 2012-02-04 17:29:00 +00:00
usb-linux.c
usb-redir.c usb-redir: convert to QOM 2012-02-06 10:16:50 -06:00
usb-stub.c
user-exec.c
VERSION
version.rc
vgafont.h
vl.c iSCSI: add configuration variables for iSCSI 2012-02-09 16:17:50 +01:00
vmstate.h
x86_64.ld
xen-all.c
xen-mapcache.c
xen-mapcache.h
xen-stub.c
xtensa-semi.c

Read the documentation in qemu-doc.html or on http://wiki.qemu.org

- QEMU team