adding Irix (and, to a lesser extent, Solaris) userland emulation to QEMU
Go to file
aliguori ff4b91c2f7 qcow2: Fix cluster allocation (Kevin Wolf)
When allocating multiple clusters at once, the qcow2 implementation
tries to find as many physically contiguous clusters as possible to
allow larger writes. This search includes allocated clusters which are
in the right place and still free clusters. If the range to allocate
spans clusters in patterns like "10 allocated, then 10 free, then again
10 allocated" it is only checked that the chunks of allocated clusters
are contiguous for themselves.

However, what is actually needed is to have _all_ allocated clusters
contiguous, starting at the first cluster of the allocation and spanning
multiple such chunks. This patch changes the check so that each offset
is not compared to the offset of the first cluster in its own chunk but
to the first cluster in the whole allocation.

I haven't seen it happen, but without this fix data corruption on qcow2
images is possible.

Signed-off-by: Kevin Wolf <kwolf@suse.de>
Acked-by: Gleb Natapov <gleb@redhat.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6213 c046a42c-6fe2-441c-8c8c-71466251a162
2009-01-07 17:22:19 +00:00
audio Use the ARRAY_SIZE() macro where appropriate. 2008-12-22 20:33:55 +00:00
bsd-user Fix more FSF addresses 2009-01-05 18:11:53 +00:00
darwin-user Fix more FSF addresses 2009-01-05 18:11:53 +00:00
fpu softfloat-native: fix type of float_rounding_mode 2008-12-20 23:41:32 +00:00
gdb-xml Add GDB XML register description support. 2008-10-11 17:55:29 +00:00
hw fix usb-hid SET_IDLE behaviour (Stefano Stabellini) 2009-01-07 16:41:47 +00:00
keymaps Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
linux-user CRIS: Implement set_thread_area for CRIS. 2009-01-07 14:19:38 +00:00
pc-bios Update to latest Bochs BIOS 2008-12-21 01:37:01 +00:00
slirp Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
target-alpha Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
target-arm Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
target-cris CRIS: Implement set_thread_area for CRIS. 2009-01-07 14:19:38 +00:00
target-i386 Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
target-m68k Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
target-mips Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
target-ppc target-ppc: fix compilation on BigEndian 2009-01-05 21:40:27 +00:00
target-sh4 Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
target-sparc Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
tcg tcg: remove tcg_global_reg2_new_hack() 2009-01-03 12:36:05 +00:00
tests CRIS: Implement set_thread_area for CRIS. 2009-01-07 14:19:38 +00:00
.gitignore Update VGA BIOS 2008-12-17 22:29:37 +00:00
COPYING COPYING: update from FSF 2008-10-12 17:54:42 +00:00
COPYING.LIB Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
Changelog
LICENSE Add missing newline at the end of file 2008-12-14 08:50:18 +00:00
MAINTAINERS
Makefile Fix and rearrange 'tarbin' Makefile rule 2009-01-03 12:35:57 +00:00
Makefile.target ETRAX: Add a model for the axis devboard88 machine. 2009-01-07 12:19:50 +00:00
README Add missing newline at the end of file 2008-12-14 08:50:18 +00:00
TODO Update 2008-12-04 11:29:42 +00:00
VERSION
a.out.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
aes.c
aes.h
aio.c Make sure to initialize fd_sets in aio.c 2008-10-12 21:19:57 +00:00
alpha-dis.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
alpha.ld
arm-dis.c
arm-semi.c Fix more FSF addresses 2009-01-05 18:11:53 +00:00
arm.ld
balloon.h Add missing file from previous commit. 2008-12-04 20:35:16 +00:00
block-bochs.c
block-cloop.c Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
block-cow.c
block-dmg.c Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
block-nbd.c
block-parallels.c
block-qcow.c
block-qcow2.c qcow2: Fix cluster allocation (Kevin Wolf) 2009-01-07 17:22:19 +00:00
block-raw-posix.c Replace posix-aio with custom thread pool 2008-12-12 16:41:40 +00:00
block-raw-win32.c Expand cache= option and use write-through caching by default 2008-10-14 14:42:54 +00:00
block-vmdk.c fix off-by-one generating vmdk backing files (Avi Kivity) 2008-10-28 14:08:49 +00:00
block-vpc.c
block-vvfat.c Use a hex value instead of possibly ambiguous 8 bit character 2008-12-14 09:30:41 +00:00
block.c Attached patch contains warning fixes. 2008-12-05 17:56:40 +00:00
block.h Use writeback caching by default with qcow2 2008-12-04 21:39:21 +00:00
block_int.h Use an option rom instead of boot sector for -kernel 2008-11-08 16:27:07 +00:00
bswap.h Attached patch makes NetBSD use the native bswap functions 2008-12-05 17:54:09 +00:00
bt-host.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
bt-vhci.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
buffered_file.c Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
buffered_file.h Introduce a buffered file wrapper for QEMUFile 2008-10-13 03:10:22 +00:00
cache-utils.c Add lost semicolons 2008-12-11 19:20:41 +00:00
cache-utils.h Introduce and use cache-utils.[ch] 2008-12-10 19:18:40 +00:00
cocoa.m
configure Add missing space 2009-01-06 18:57:51 +00:00
console.c Introduce accessors for DisplayState (Stefano Stabellini) 2008-11-24 19:29:13 +00:00
console.h Introduce accessors for DisplayState (Stefano Stabellini) 2008-11-24 19:29:13 +00:00
cpu-all.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
cpu-defs.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
cpu-exec.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
cris-dis.c
curses.c Reintroduce TEXT_CONSOLE_FIXED_SIZE and TEXT_CONSOLE for resizable vc's. 2008-09-24 03:32:33 +00:00
curses_keys.h Control + i and [tab] share keycode in curses, simulate [tab]. 2008-10-28 00:11:06 +00:00
cutils.c Rename fls to qemu_fls 2008-12-11 19:37:54 +00:00
d3des.c Ansify to please sparse 2008-10-27 19:49:12 +00:00
d3des.h
def-helper.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
device_tree.c Implement device tree support needed for Bamboo emulation 2008-12-16 10:43:48 +00:00
device_tree.h Implement device tree support needed for Bamboo emulation 2008-12-16 10:43:48 +00:00
dis-asm.h
disas.c Update old fashioned function prototypes. 2008-10-22 15:55:18 +00:00
disas.h * Use function pointers for symbol lookup (currently for elf32 and elf64, 2008-10-22 15:11:31 +00:00
dyngen-exec.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
elf.h Fix most warnings that would be caused by gcc flag -Wundef 2008-09-06 17:47:39 +00:00
elf_ops.h Use load address when loading ELF images. 2008-10-22 18:20:20 +00:00
exec-all.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
exec.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
feature_to_c.sh Fix undeclared symbol warnings from sparse 2008-10-26 13:43:07 +00:00
gdbstub.c gdbstub: fix gdbserver_fork 2009-01-07 10:22:28 +00:00
gdbstub.h User-mode GDB stub improvements - handle signals 2008-12-18 22:44:13 +00:00
gen-icount.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
host-utils.c
host-utils.h Include <strings.h> for ffs(). 2008-11-12 17:18:41 +00:00
hostregs_helper.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
hpet.h
hppa-dis.c
hppa.ld
i386-dis.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
i386.ld
ia64.ld
keymaps.c Make keysym tables const 2008-10-02 18:26:42 +00:00
kqemu.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
kqemu.h
kvm-all.c KVM: Silence unused s warning 2008-12-18 22:42:51 +00:00
kvm.h kvm: sync vcpu state during initialization (Hollis Blanchard) 2008-12-15 22:20:42 +00:00
libfdt_env.h Implement device tree support needed for Bamboo emulation 2008-12-16 10:43:48 +00:00
loader.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
m68k-dis.c Spelling and grammar fixes 2008-11-30 16:25:37 +00:00
m68k-semi.c Fix more FSF addresses 2009-01-05 18:11:53 +00:00
m68k.ld
migration-exec.c Fix brown-paper-bag bugs from live-migration patch (Charles Duffy) 2008-11-12 22:29:11 +00:00
migration-tcp.c Fix brown-paper-bag bugs from live-migration patch (Charles Duffy) 2008-11-12 22:29:11 +00:00
migration.c Reintroduce migrate-to-exec: support (Charles Duffy) 2008-11-11 16:46:33 +00:00
migration.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
mips-dis.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
mips.ld
mipsel.ld
monitor.c Fix -Werror=format-security warning (Frederik Himpe/Lennert Buytenhek) 2008-12-28 13:14:48 +00:00
nbd.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
nbd.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
net-checksum.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
net.c consolidate definition for tap script and smb support 2008-12-18 22:43:48 +00:00
net.h consolidate definition for tap script and smb support 2008-12-18 22:43:48 +00:00
osdep.c Remove redundant #ifdef _BSD 2008-12-11 19:39:56 +00:00
osdep.h Fix a typo preventing GNUC builtins usage. 2008-12-01 01:53:55 +00:00
pci-ids.txt This should have been added in Gerd's previous commit. 2008-12-17 21:32:37 +00:00
posix-aio-compat.c Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
posix-aio-compat.h Replace posix-aio with custom thread pool 2008-12-12 16:41:40 +00:00
ppc-dis.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
ppc.ld
ppc64.ld
qemu-aio.h Refactor AIO to allow multiple AIO implementations 2008-09-22 19:17:18 +00:00
qemu-binfmt-conf.sh
qemu-char.c Fix warning from sparse 2008-11-30 16:25:05 +00:00
qemu-char.h Move some declarations around in the QEMU CharDriver code 2008-10-31 18:44:40 +00:00
qemu-common.h Rename fls to qemu_fls 2008-12-11 19:37:54 +00:00
qemu-doc.texi Add support for -prom-env command line options 2008-12-24 20:26:14 +00:00
qemu-img.c qemu-img: open files with cache=writeback 2008-11-30 19:12:49 +00:00
qemu-img.texi
qemu-lock.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
qemu-log.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
qemu-malloc.c Add qemu_strndup: qemu_strdup with length limit. 2008-11-09 00:28:40 +00:00
qemu-nbd.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
qemu-nbd.texi Fix formatting of documentation (Stefan Weil) 2008-09-22 20:41:57 +00:00
qemu-sockets.c Use qemu_isfoobar and qemu_towombat versions, based on patch by Christoph Egger 2008-11-22 20:04:24 +00:00
qemu-tech.texi Update (thanks to Edgar, Thiemo, malc, Paul, Laurent and Andrzej) 2008-10-09 18:52:04 +00:00
qemu-timer.h
qemu-tool.c Fix warning from sparse (wrong declaration) 2008-11-30 16:25:17 +00:00
qemu_socket.h sockets: helper functions for qemu (Gerd Hoffman) 2008-11-11 20:46:40 +00:00
readline.c Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
s390-dis.c Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
s390.ld Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
savevm.c Fix handling of disk-only snapshots (Kevin Wolf) 2008-12-11 21:06:49 +00:00
sdl.c
sdl_keysym.h Make keysym tables const 2008-10-02 18:26:42 +00:00
sh4-dis.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
softmmu-semi.h Suppress gcc 4.x -Wpointer-sign (included in -Wall) warnings 2008-09-20 08:07:15 +00:00
softmmu_defs.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
softmmu_exec.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
softmmu_header.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
softmmu_template.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
sparc-dis.c Update from binutils 2.17 2008-10-26 19:13:20 +00:00
sparc.ld
sparc64.ld
sys-queue.h Remove CRs 2008-12-14 08:53:17 +00:00
sysemu.h Add support for -prom-env command line options 2008-12-24 20:26:14 +00:00
tap-win32.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
texi2pod.pl
thunk.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
thunk.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
translate-all.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
uboot_image.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
usb-bsd.c Attached patch contains warning fixes. 2008-12-05 17:56:40 +00:00
usb-linux.c Suppress a -Werror=format-security warning 2008-12-28 15:45:20 +00:00
usb-stub.c Fix usb-stub compilation 2008-11-25 16:49:33 +00:00
vgafont.h Some little fixes on QEMU 2008-09-06 16:31:30 +00:00
vl.c Add support for -prom-env command line options 2008-12-24 20:26:14 +00:00
vnc.c Properly handle the case of SetPixelEncodings with a length of zero. 2008-12-22 21:06:23 +00:00
vnc_keysym.h Make keysym tables const 2008-10-02 18:26:42 +00:00
vnchextile.h Introduce accessors for DisplayState (Stefano Stabellini) 2008-11-24 19:29:13 +00:00
x86_64.ld
x_keymap.c

README

Read the documentation in qemu-doc.html.

Fabrice Bellard.