Go to file
aliguori 93c65b47a6 Add host_device support to qemu-img. (Nolan Leake)
This patch allows the use a host_device as the destination for "qemu-img
convert".

I added a ->bdrv_create function host_device.  It merely verifies that
the device exists and is large enough.

A check is needed in the qemu-img convert loop to ensure that we write
out all 0 sectors to the host_device.  Otherwise they end up with stale
garbage where all zero sectors were expected.

I also made the check against bdrv_is_allocated enabled for everything
_except_ host devices, since there is no point in making the block
backend write a bunch of zeros just so that we can memcmp them
immediately afterwards.  Host devices can't benefit from this because
there is no way to differentiate between a sector being unallocated
because it was never written, or because it was written with all zeros
and then made a trip through qemu-img convert.

Finally, there is an unrelated fix for a typo in the error message
printed if the destination device does not support ->bdrv_create.

Signed-off-by: Nolan Leake <nolan <at> sigbus.net>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6978 c046a42c-6fe2-441c-8c8c-71466251a162
2009-04-05 17:40:43 +00:00
audio
bsd-user
darwin-user
fpu Rename one more _BSD to HOST_BSD (spotted by Hasso Tepper) 2009-03-08 15:58:00 +00:00
gdb-xml
hw Fix oops on 2.6.25 guest (Rusty Russell) 2009-04-05 17:40:08 +00:00
keymaps
linux-user
pc-bios Update OpenBIOS images to r482 2009-03-31 15:46:09 +00:00
slirp Delete some unused macros detected with -Wp,-Wunused-macros use 2009-03-16 16:33:01 +00:00
target-alpha target-alpha: bug fix: avoid nop to override next instruction 2009-03-29 01:04:39 +00:00
target-arm Fix ARM quadword VDUP (core register). 2009-03-17 12:19:58 +00:00
target-cris
target-i386 Immediate versions of ro[lr] 2009-04-02 22:54:35 +00:00
target-m68k tcg: rename bswap_i32/i64 functions 2009-03-13 09:34:48 +00:00
target-mips target-mips: optimize gen_movcf_*() 2009-03-29 15:45:02 +00:00
target-ppc target-ppc: Explain why the whole TLB is flushed on SR write 2009-03-29 13:36:32 +00:00
target-sh4 SH: Fix linux-user _is_cached typo. 2009-04-03 07:33:24 +00:00
target-sparc Delete some unused macros detected with -Wp,-Wunused-macros use 2009-03-16 16:33:01 +00:00
tcg Fix branches and TLB matches for 64 bit targets 2009-04-04 19:10:26 +00:00
tests
.gitignore
a.out.h
acl.c
acl.h
aes.c Delete some unused macros detected with -Wp,-Wunused-macros use 2009-03-16 16:33:01 +00:00
aes.h
aio.c
alpha-dis.c
alpha.ld
arm-dis.c
arm-semi.c
arm.ld
balloon.h
block_int.h block: support known backing format for image create and open (Uri Lublin) 2009-03-28 17:55:10 +00:00
block-bochs.c
block-cloop.c
block-cow.c
block-dmg.c
block-nbd.c
block-parallels.c
block-qcow2.c Fix (at least one cause of) qcow2 corruption. (Nolan Leake) 2009-04-05 17:40:38 +00:00
block-qcow.c
block-raw-posix.c Add host_device support to qemu-img. (Nolan Leake) 2009-04-05 17:40:43 +00:00
block-raw-win32.c Remove dead AIO code for win32 2009-03-29 20:54:17 +00:00
block-vmdk.c
block-vpc.c
block-vvfat.c
block.c check for bs->drv in bdrv_flush (Christoph Hellwig) 2009-03-29 01:31:51 +00:00
block.h block: support known backing format for image create and open (Uri Lublin) 2009-03-28 17:55:10 +00:00
bswap.h
bt-host.c Clean build: Add bt-host.h 2009-03-10 21:43:35 +00:00
bt-host.h Clean build: Add bt-host.h 2009-03-10 21:43:35 +00:00
bt-vhci.c
buffered_file.c
buffered_file.h
cache-utils.c
cache-utils.h
Changelog Update changelog 2009-03-13 16:22:41 +00:00
cocoa.m
CODING_STYLE Document QEMU coding style (v2) (Avi Kivity) 2009-04-05 17:40:34 +00:00
configure Compile all files with -ffixed-g5 etc. to avoid env (%g5) corruption 2009-04-04 09:21:28 +00:00
console.c Delete some unused macros detected with -Wp,-Wunused-macros use 2009-03-16 16:33:01 +00:00
console.h DisplayAllocator interface (Stefano Stabellini) 2009-03-13 15:02:13 +00:00
COPYING
COPYING.LIB
cpu-all.h
cpu-defs.h
cpu-exec.c Make i386-softmmu boot on Sparc host 2009-04-04 07:41:20 +00:00
cris-dis.c
curses_keys.h
curses.c DisplayAllocator interface (Stefano Stabellini) 2009-03-13 15:02:13 +00:00
cutils.c add qemu_iovec_init_external (Christoph Hellwig) 2009-03-28 17:46:10 +00:00
d3des.c
d3des.h
def-helper.h
device_tree.c
device_tree.h
dis-asm.h
disas.c
disas.h
dma-helpers.c Fix DMA API when handling an immediate error from block layer (Avi Kivity) 2009-03-28 16:11:25 +00:00
dma.h Implement cancellation method for dma async I/O (Avi Kivity) 2009-03-20 18:26:07 +00:00
dyngen-exec.h Prune unused AREGs 2009-03-08 12:41:36 +00:00
elf_ops.h Make the ELF loader aware of backwards compatibility 2009-03-13 21:16:24 +00:00
elf.h
exec-all.h
exec.c ROM write access for debugging (Jan Kiszka) 2009-03-28 17:51:36 +00:00
feature_to_c.sh
gdbstub.c gdbstub: Allow re-instantiation (Jan Kiszka) 2009-03-28 18:05:53 +00:00
gdbstub.h Guest debugging support for KVM (Jan Kiszka) 2009-03-12 20:12:48 +00:00
gen-icount.h
host-utils.c
host-utils.h
hostregs_helper.h Prune unused AREGs 2009-03-08 12:41:36 +00:00
hpet.h
hppa-dis.c
hppa.ld
hxtool Fix hxtool eating backslash sequences for sh != bash 2009-03-29 10:50:43 +00:00
i386-dis.c
i386.ld
ia64.ld
keymaps.c
keymaps.h
kqemu.c Fix windows build and clean up use of <windows.h> 2009-03-08 16:26:59 +00:00
kqemu.h
kvm-all.c Guest debugging support for KVM (Jan Kiszka) 2009-03-12 20:12:48 +00:00
kvm.h Guest debugging support for KVM (Jan Kiszka) 2009-03-12 20:12:48 +00:00
libfdt_env.h
LICENSE
loader.c Delete some unused macros detected with -Wp,-Wunused-macros use 2009-03-16 16:33:01 +00:00
m68k-dis.c
m68k-semi.c
m68k.ld
MAINTAINERS
Makefile Fix out of tree compilation 2009-03-28 08:14:42 +00:00
Makefile.target Compile all files with -ffixed-g5 etc. to avoid env (%g5) corruption 2009-04-04 09:21:28 +00:00
migration-exec.c
migration-tcp.c
migration.c
migration.h
mips-dis.c
mips.ld
mipsel.ld
monitor.c gdbstub: Allow re-instantiation (Jan Kiszka) 2009-03-28 18:05:53 +00:00
monitor.h
nbd.c
nbd.h
net-checksum.c
net.c host_device_remove: remove incorrect check for device name (Eduardo Habkost) 2009-03-28 15:58:58 +00:00
net.h
osdep.c Fix windows build and clean up use of <windows.h> 2009-03-08 16:26:59 +00:00
osdep.h
pci-ids.txt
posix-aio-compat.c new scsi-generic abstraction, use SG_IO (Christoph Hellwig) 2009-03-28 17:28:41 +00:00
posix-aio-compat.h new scsi-generic abstraction, use SG_IO (Christoph Hellwig) 2009-03-28 17:28:41 +00:00
ppc64.ld
ppc-dis.c
ppc.ld
qemu_socket.h Fix windows build and clean up use of <windows.h> 2009-03-08 16:26:59 +00:00
qemu-aio.h
qemu-binfmt-conf.sh
qemu-char.c char: Fix closing of various char devices (Jan Kiszka) 2009-03-28 17:58:14 +00:00
qemu-char.h
qemu-common.h add qemu_iovec_init_external (Christoph Hellwig) 2009-03-28 17:46:10 +00:00
qemu-doc.texi Syncing documentation vs. -help vs. qemu_options table 2009-03-28 06:44:27 +00:00
qemu-img.c Add host_device support to qemu-img. (Nolan Leake) 2009-04-05 17:40:43 +00:00
qemu-img.texi qemu-img: adding a "-F base_fmt" option to "qemu-img create -b" (Uri Lublin) 2009-03-28 17:55:19 +00:00
qemu-lock.h
qemu-log.h
qemu-malloc.c
qemu-nbd.c
qemu-nbd.texi
qemu-options.hx Fix compile problems with r6884 2009-03-28 08:13:56 +00:00
qemu-sockets.c
qemu-tech.texi
qemu-timer.h
qemu-tool.c
qemu.sasl
readline.c monitor: Provide empty command as final history entry (Jan Kiszka) 2009-03-13 15:02:28 +00:00
readline.h
README
rules.mak
s390-dis.c
s390.ld
savevm.c make qemu_announce_self handle non contiguous net tables (Marcelo Tosatti) 2009-03-13 15:03:58 +00:00
sdl_keysym.h
sdl.c Fix absolute mouse events generated by SDL frontend. 2009-03-21 01:09:16 +00:00
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
sys-queue.h
sysemu.h Fix windows build and clean up use of <windows.h> 2009-03-08 16:26:59 +00:00
tap-win32.c Fix windows build and clean up use of <windows.h> 2009-03-08 16:26:59 +00:00
texi2pod.pl
thunk.c
thunk.h
TODO
translate-all.c
uboot_image.h
usb-bsd.c
usb-linux.c
usb-stub.c
VERSION
vgafont.h
vl.c Remove nodisk_ok machine feature (Jan Kiszka) 2009-03-28 17:28:58 +00:00
vnc_keysym.h
vnc-auth-sasl.c
vnc-auth-sasl.h
vnc-auth-vencrypt.c
vnc-auth-vencrypt.h
vnc-tls.c
vnc-tls.h
vnc.c vnc: throttle screen updates. (Gerd Hoffmann) 2009-03-20 15:59:24 +00:00
vnc.h vnc: throttle screen updates. (Gerd Hoffmann) 2009-03-20 15:59:24 +00:00
vnchextile.h vnc: cleanup surface handling, fix screen corruption bug. (Gerd Hoffmann) 2009-03-20 15:59:14 +00:00
x86_64.ld
x_keymap.c
x_keymap.h

Read the documentation in qemu-doc.html.

Fabrice Bellard.