Statistics
| Branch: | Revision:

root / qemu-img.c @ 834574ea

History | View | Annotate | Download (57.5 kB)

# Date Author Comment
79443397 01/02/2013 05:08 pm liguang

qemu-img: report size overflow error message

qemu-img will complain when qcow or qcow2
size overflow for 64 bits, report the right
message in this condition.

$./qemu-img create -f qcow2 /tmp/foo 0x10000000000000000
before change:
qemu-img: Invalid image size specified! You may use k, M, G or T suffixes for...

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 <>

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 <>

e478b448 12/11/2012 05:35 pm Dong Xu Wang

use qemu_opts_create_nofail

We will use qemu_opts_create_nofail function, it can make code
more readable.

Signed-off-by: Dong Xu Wang <>
Signed-off-by: Kevin Wolf <>

71c79813 12/11/2012 12:05 pm Luiz Capitulino

block: bdrv_img_create(): add Error ** argument

This commit adds an Error ** argument to bdrv_img_create() and set it
appropriately on error.

Callers of bdrv_img_create() pass NULL for the new argument and still
rely on bdrv_img_create()'s return value. Next commits will change...

9b37525a 12/11/2012 12:05 pm Luiz Capitulino

qemu-img: img_create(): pass Error object to bdrv_img_create()

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Kevin Wolf <>

a9300911 12/11/2012 12:05 pm Luiz Capitulino

qemu-img: img_create(): drop unneeded goto and ret variable

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Kevin Wolf <>

2592c59a 11/06/2012 02:37 am Paolo Bonzini

tools: initialize main loop before block layer

Tools were broken because they initialized the block layer while
qemu_aio_context was still NULL.

Reported-by: malc <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: malc <>

9699bf0d 10/24/2012 11:26 am Stefan Hajnoczi

qemu-img: Add --backing-chain option to info command

The qemu-img info --backing-chain option enumerates the backing file
chain. For example, for base.qcow2 <- snap1.qcow2 <- snap2.qcow2 the
output becomes:

$ qemu-img info --backing-chain snap2.qcow2...
1f710495 10/24/2012 11:26 am Kevin Wolf

qemu-img: Fix division by zero for zero size images

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

a616673d 10/24/2012 11:26 am Alex Bligh

qemu-img rebase: use empty string to rebase without backing file

This patch allows an empty filename to be passed as the new base image name
for qemu-img rebase to mean base the image on no backing file (i.e.
independent of any backing file). According to Eric Blake, qemu-img rebase...

109820df 09/17/2012 06:23 pm Anthony Liguori

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

  • kwolf/for-anthony:
    block: Don't forget to delete temporary file
    Don't require encryption password for 'qemu-img info' command
    qemu-img: Add json output option to the info command.
    qapi: Add SnapshotInfo and ImageInfo....
0546b8c2 09/14/2012 10:21 am Stefan Weil

Spelling fixes in comments and documentation

These wrong spellings were detected by codespell:

  • successully -> successfully
  • alot -> a lot
  • wanna -> want to
  • infomation -> information
  • occured -> occurred

["also is" -> "is also" and "ressources" -> "resources" suggested by...

c054b3fd 09/12/2012 04:50 pm Benoît Canet

qemu-img: Add json output option to the info command.

This option --output=[human|json] make qemu-img info output on
human or JSON representation at the choice of the user.

example: {
"snapshots": [ {
"vm-clock-nsec": 637102488,
"name": "vm-20120821145509",...

f0536bb8 09/12/2012 04:50 pm Daniel P. Berrange

Don't require encryption password for 'qemu-img info' command

The encryption password is only required if I/O is going to be
performed on a disk image. The 'qemu-img info' command merely
reports metadata, so it should not ask for a decryption password

Signed-off-by: Daniel P. Berrange <>...

058f8f16 08/10/2012 11:25 am Stefan Hajnoczi

block: add BLOCK_O_CHECK for qemu-img check

Image formats with a dirty bit, like qed and qcow2, repair dirty image
files upon open with BDRV_O_RDWR. Performing automatic repair when
qemu-img check runs is not ideal because the bdrv_open() call repairs
the image before the actual bdrv_check() call from qemu-img.c....

20caf0f7 08/06/2012 11:39 pm Dong Xu Wang

qemu-img: use QemuOpts instead of QEMUOptionParameter in resize function

Signed-off-by: Dong Xu Wang <>
Reviewed-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

c8057f95 08/02/2012 09:16 pm Peter Maydell

Support 'help' as a synonym for '?' in command line options

For command line options which permit '?' meaning 'please list the
permitted values', add support for 'help' as a synonym, by abstracting
the check out into a helper function.

This change means that in some cases where we were being lazy in...

f8d6bba1 06/15/2012 03:03 pm Markus Armbruster

block: Replace bdrv_get_format() by bdrv_get_format_name()

So callers don't need to know anything about maximum name length.
Returning a pointer is safe, because the name string lives as long as
the block driver it names, and block drivers don't die.

Requested by Peter Maydell....

4534ff54 06/15/2012 03:03 pm Kevin Wolf

qemu-img check -r for repairing images

The QED block driver already provides the functionality to not only
detect inconsistencies in images, but also fix them. However, this
functionality cannot be manually invoked with qemu-img, but the
check happens only automatically during bdrv_open()....

ccf34716 06/15/2012 03:03 pm Kevin Wolf

qemu-img check: Print fixed clusters and recheck

When any inconsistencies have been fixed, print the statistics and run
another check to make sure everything is correct now.

Signed-off-by: Kevin Wolf <>

fa170c14 05/14/2012 06:02 pm Charles Arnold

qemu-img: Fix segmentation fault

The following command generates a segmentation fault.
qemu-img convert -O vpc -o ? test test2
This is because the 'goto out;' statement calls qemu_progress_end
before qemu_progress_init is called resulting in a NULL pointer...

dc5a1371 05/10/2012 11:32 am Paolo Bonzini

qemu-img: make "info" backing file output correct and easier to use

qemu-img info should use the same logic as qemu when printing the
backing file path, or debugging becomes quite tricky. We can also
simplify the output in case the backing file has an absolute path...

80ccf93b 04/20/2012 12:42 pm Liu Yuan

qemu-img: let 'qemu-img convert' flush data

The 'qemu-img convert -h' advertise that the default cache mode is
'writeback', while in fact it is 'unsafe'.

This patch 1) fix the help manual and 2) let bdrv_close() call bdrv_flush()

2) is needed because some backend storage doesn't have a self-flush...

64c79160 04/05/2012 03:54 pm Dong Xu Wang

qemu-img: add dirty flag status

Some block drivers can verify their image files are clean or not. So we can show
it while using "qemu-img info".

Signed-off-by: Dong Xu Wang <>
Reviewed-by: Stefan Hajnoczi <>...

f8111c24 04/05/2012 03:54 pm Dong Xu Wang

qemu-img: add image fragmentation statistics

Discussion can be found at:
http://patchwork.ozlabs.org/patch/128730/

This patch add image fragmentation statistics while using qemu-img check.

Signed-off-by: Dong Xu Wang <>
Reviewed-by: Stefan Hajnoczi <>...

259b2173 03/12/2012 04:14 pm Kevin Wolf

qcow2: Add error messages in qcow2_truncate

qemu-img resize has some limitations with qcow2, but the user is only
told that "this image format does not support resize". Quite confusing,
so add some more detailed error_report() calls and change "this image...

67d384e8 02/29/2012 05:05 pm Zhi Yong Wu

qemu-img: fix segment fault when the image format is qed

[root@f15 qemu]# qemu-img info /home/zwu/work/misc/rh6.img
image: /home/zwu/work/misc/rh6.img
file format: qed
virtual size: 4.0G (4294967296 bytes)
disk size: 1.2G
cluster_size: 65536
Segmentation fault (core dumped)...

1a6d39fd 02/09/2012 05:17 pm Stefan Hajnoczi

cutils: extract buffer_is_zero() from qemu-img.c

The qemu-img.c:is_not_zero() function checks if a buffer contains all
zeroes. This function will come in handy for zero-detection in the
block layer, so clean it up and move it to cutils.c.

Note that the function now returns true if the buffer is all zeroes....

87a1b3e3 12/15/2011 01:40 pm Kevin Wolf

qemu-img rebase: Fix for undersized backing files

Backing files may be smaller than the corresponding COW file. When
reading directly from the backing file, qemu-img rebase must consider
this and assume zero sectors after the end of backing files.

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

e36b3695 11/29/2011 12:20 am Markus Armbruster

qemu-img: Tighten parsing of size arguments

strtosz_suffix() fails unless the size is followed by 0, whitespace or
','. Useless here, because we need to fail for any junk following the
size, even if it starts with whitespace or ','. Check manually.
Things like "qemu-img create xxx 1024," and "qemu-img convert -S '1024...

41521fa4 10/21/2011 06:34 pm Kevin Wolf

qemu-img: Don't allow preallocation and compression at the same time

Only qcow and qcow2 can do compression at all, and they require unallocated
clusters when writing the compressed data.

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

a22f123c 08/29/2011 03:42 pm Kevin Wolf

qemu-img: Require larger zero areas for sparse handling

By default, require 4k of consecutive zero bytes for qemu-img to make the
output file sparse by not issuing a write request for the zeroed parts. Add an
-S option to allow users to tune this setting....

c3993cdc 08/23/2011 03:15 pm Stefan Hajnoczi

block: parse cache mode flags in a single place

This patch introduces bdrv_parse_cache_flags() which sets open flags
given a cache mode. Previously this was duplicated in blockdev.c and
qemu-img.c.

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

92196b2f 08/23/2011 03:15 pm Stefan Hajnoczi

block: add cache=directsync parameter to -drive

This patch adds -drive cache=directsync for O_DIRECT | O_SYNC host file
I/O with no disk write cache presented to the guest.

This mode is useful when guests may not be sending flushes when
appropriate and therefore leave data at risk in case of power failure....

bb1c0597 08/23/2011 03:15 pm Kevin Wolf

qemu-img: Use qemu_blockalign

Now that you can use cache=none for the output file in qemu-img, we should
properly align our buffers so that raw-posix doesn't have to use its (smaller)
bounce buffer.

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

3fba9d81 08/23/2011 03:15 pm Stefan Hajnoczi

qemu-img: print error codes when convert fails

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

7267c094 08/21/2011 07:01 am Anthony Liguori

Use glib memory allocation and free functions

qemu_malloc/qemu_free no longer exist after this commit.

Signed-off-by: Anthony Liguori <>

4a1d5e1f 07/19/2011 04:39 pm Fam Zheng

block: add bdrv_get_allocated_file_size() operation

qemu-img.c wants to count allocated file size of image. Previously it
counts a single bs->file by 'stat' or Window API. As VMDK introduces
multiple file support, the operation becomes format specific with...

661a0f71 07/05/2011 12:23 pm Federico Simoncelli

qemu-img: Add cache command line option

qemu-img currently writes disk images using writeback and filling
up the cache buffers which are then flushed by the kernel preventing
other processes from accessing the storage.
This is particularly bad in cluster environments where time-based...

9d42e15d 06/24/2011 11:13 am Markus Armbruster

qemu-img: Don't prepend qemu-img to error messages twice.

error_report() prepends the location already. Example:

$ qemu-img convert -6
qemu-img: qemu-img: option -6 is deprecated, please use '-o compat6' instead!

Signed-off-by: Markus Armbruster <>...

6daf194d 06/24/2011 11:13 am Markus Armbruster

Strip trailing '\n' from error_report()'s first argument

error_report() prepends location, and appends a newline. The message
constructed from the arguments should not contain a newline. Fix the
obvious offenders.

Signed-off-by: Markus Armbruster <>...

f6a00aa1 05/18/2011 03:39 pm Dmitry Konishchev

qemu_img: is_not_zero() optimization

I run qemu-img under profiler and realized, that most of CPU time is
consumed by is_not_zero() function. I had made a couple of optimizations
on it and got the following output for `time qemu-img convert -O qcow2
volume.qcow2 snapshot.qcow2`:...

4ee96418 05/18/2011 03:38 pm Jes Sorensen

qemu-img.c: Remove superfluous parenthesis

Signed-off-by: Jes Sorensen <>
Signed-off-by: Kevin Wolf <>

e80fec7f 05/03/2011 12:29 pm Kevin Wolf

qemu-img resize: Fix option parsing

For shrinking images, you're supposed to use a negative size. However, the
leading minus makes getopt think that it's an option and so you get the help
text if you don't use -- like in 'qemu-img resize test.img -- -1G'....

9a9d9dba 04/27/2011 12:12 pm Anthony Liguori

qemu-img: allow rebase to a NULL backing file when unsafe

QEMU can drop a backing file so that an image file no longer depends on
the backing file, but this feature has not been exposed in qemu-img.
This is useful in an image streaming usecase or when an image file has...

eb863add 04/07/2011 02:51 pm Kevin Wolf

qemu-img rebase: Fix segfault if backing file can't be opened

bdrv_delete must not be called for a NULL BlockDriverState.

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

6b837bc4 04/07/2011 02:51 pm Jes Sorensen

qemu-img: Initial progress printing support

This adds the basic infrastructure for supporting progress output
on the command line, as well as progress support for qemu-img commands
'rebase' and 'convert'.

Signed-off-by: Jes Sorensen <>...

b9eaf9ec 02/10/2011 02:24 pm Kevin Wolf

qemu-img: Improve error messages for failed bdrv_open

Output the error message string of the bdrv_open return code. Also set a
non-empty device name for the images because the unknown feature error message
includes it.

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

710da702 01/24/2011 12:08 pm Kevin Wolf

qemu-img snapshot: Use writeback caching

None of the other qemu-img subcommands uses writethrough, and there's no reason
why snapshot should be special.

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

70b4f4bb 01/24/2011 12:08 pm Jes Sorensen

Make strtosz() return int64_t instead of ssize_t

strtosz() needs to return a 64 bit type even on 32 bit
architectures. Otherwise qemu-img will fail to create disk
images >= 2GB

Signed-off-by: Jes Sorensen <>
Signed-off-by: Kevin Wolf <>

53f76e58 12/17/2010 05:11 pm Kevin Wolf

qemu-img: Call error_set_progname

Call error_set_progname during the qemu-img initialization, so that error
messages printed with error_report() use the right prefix.

Signed-off-by: Kevin Wolf <>

f88e1a42 12/17/2010 05:11 pm Jes Sorensen

qemu-img.c: Re-factor img_create()

This patch re-factors img_create() moving the code doing the actual
work into block.c where it can be shared with QEMU. This is needed to
be able to create images from QEMU to be used for live snapshots.

Signed-off-by: Jes Sorensen <>...

15654a6d 12/17/2010 05:11 pm Jes Sorensen

qemu.img.c: Use error_report() instead of own error() implementation

Signed-off-by: Jes Sorensen <>
Signed-off-by: Kevin Wolf <>

ad717139 12/17/2010 05:11 pm Kevin Wolf

Remove NULL checks for bdrv_new return value

It's an indirect call to qemu_malloc, which never returns an error.

Signed-off-by: Kevin Wolf <>

1da7cfbd 12/17/2010 05:10 pm Jes Sorensen

qemu-img.c: Clean up handling of image size in img_create()

This cleans up the handling of image size in img_create() by parsing
the value early, and then only setting it once if a value has been
added as the last argument to the command line.

Signed-off-by: Jes Sorensen <>...

5bdf61fd 12/14/2010 04:44 pm Jes Sorensen

Use qemu_mallocz() instead of calloc() in img_convert()

Signed-off-by: Jes Sorensen <>
Signed-off-by: Kevin Wolf <>

31ca34b8 12/14/2010 04:44 pm Jes Sorensen

img_convert(): Only try to free bs[] entries if bs is valid.

This allows for jumping to 'out:' consistently for error exit.

Signed-off-by: Jes Sorensen <>
Signed-off-by: Kevin Wolf <>

4ac8aacd 12/14/2010 04:44 pm Jes Sorensen

Consolidate printing of block driver options

This consolidates the printing of block driver options in
print_block_option_help() which is called from both img_create() and
img_convert().

This allows for the "?" detection to be done just after the parsing of...

b8fb60da 12/14/2010 04:44 pm Jes Sorensen

Fix formatting and missing braces in qemu-img.c

Signed-off-by: Jes Sorensen <>
Reviewed-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

ef87394c 12/14/2010 04:44 pm Jes Sorensen

Fail if detecting an unknown option

This patch changes qemu-img to exit if an unknown option is detected,
instead of trying to continue with a set of arguments which may be
incorrect.

Signed-off-by: Jes Sorensen <>
Signed-off-by: Kevin Wolf <>

2a81998a 12/14/2010 04:44 pm Jes Sorensen

Make error handling more consistent in img_create() and img_resize()

Signed-off-by: Jes Sorensen <>
Signed-off-by: Kevin Wolf <>

eec77d9e 12/14/2010 04:44 pm Jes Sorensen

qemu-img: Deprecate obsolete -6 and -e options

If -6 or -e is specified, an error message is printed and we exit. It
does not print help() to avoid the error message getting lost in the
noise.

Signed-off-by: Jes Sorensen <>
Signed-off-by: Kevin Wolf <>

a87a6721 12/14/2010 04:44 pm Stefan Hajnoczi

qemu-img: Free option parameter lists in img_create()

Free option parameter lists in the img_create() error return path.

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

5eeaad5a 12/14/2010 04:44 pm Stefan Hajnoczi

qemu-img: Fail creation if backing format is invalid

The qemu-img create command should check the backing format to ensure
only image files with valid backing formats are created. By checking in
qemu-img.c we can print a useful error message.

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

dc786bc9 10/30/2010 11:02 am Jes Sorensen

Move qemu_gettimeofday() to OS specific files

Signed-off-by: Jes Sorensen <>
Signed-off-by: Blue Swirl <>

51ef6727 10/22/2010 03:49 pm edison

Copy snapshots out of QCOW2 disk

In order to backup snapshots, created from QCOW2 iamge, we want to copy snapshots out of QCOW2 disk to a seperate storage.
The following patch adds a new option in "qemu-img": qemu-img convert -f qcow2 -O qcow2 -s snapshot_name src_img bck_img....

a18953fb 10/22/2010 03:49 pm Kevin Wolf

qemu-img: Fix qemu-img convert -obacking_file

The old -B option caused a backing file to be used for the converted image and
to avoid copying clusters from the old backing file. When replaced with
-obacking_file, qemu-img convert does assign the backing file to the new image,...

8b7968f7 10/03/2010 09:34 am Stefan Weil

Use GCC_FMT_ATTR (format checking)

Signed-off-by: Stefan Weil <>
Signed-off-by: Blue Swirl <>

1bd8e175 09/08/2010 01:39 pm Kevin Wolf

qemu-img convert: Use cache=unsafe for output image

If qemu-img crashes during the conversion, the user will throw away the broken
output file anyway and start over. So no need to be too cautious.

Signed-off-by: Kevin Wolf <>

cdbae851 08/30/2010 07:29 pm Kevin Wolf

qemu-img rebase: Open new backing file read-only

We never write to a backing file, so opening rw is useless. It just means that
you can't rebase on top of a file for which you don't have write permissions.

Signed-off-by: Kevin Wolf <>

e076f338 07/06/2010 06:05 pm Kevin Wolf

qemu-img check: Distinguish different kinds of errors

People think that their images are corrupted when in fact there are just some
leaked clusters. Differentiating several error cases should make the messages
more comprehensible.

Signed-off-by: Kevin Wolf <>

c2abccec 07/02/2010 02:18 pm MORITA Kazutaka

qemu-img: avoid calling exit(1) to release resources properly

This patch removes exit(1) from error(), and properly releases
resources such as a block driver and an allocated memory.

For testing the Sheepdog block driver with qemu-iotests, it is
necessary to call bdrv_delete() before the program exits. Because the...

b50cbabc 05/28/2010 02:14 pm MORITA Kazutaka

add support for protocol driver create_options

This patch enables protocol drivers to use their create options which
are not supported by the format. For example, protcol drivers can use
a backing_file option with raw format.

Signed-off-by: MORITA Kazutaka <>...

0bfcd599 05/22/2010 11:02 am Blue Swirl

Fix %lld or %llx printf format use

Signed-off-by: Blue Swirl <>

ae6b0ed6 05/03/2010 11:07 am Stefan Hajnoczi

qemu-img: Add 'resize' command to grow/shrink disk images

This patch adds a 'resize' command to grow/shrink disk images. This
allows changing the size of disk images without copying to a new image
file. Currently only raw files support resize.

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

cc60e327 05/03/2010 11:07 am Kevin Wolf

qemu-img rebase: Fix output image corruption

qemu-img rebase must always give clusters in the COW file priority over those
in the backing file. As it failed to use number of non-allocated clusters but
assumed the maximum, it was possible that allocated clusters were taken from...

f2feebbd 05/03/2010 11:07 am Kevin Wolf

block: bdrv_has_zero_init

This fixes the problem that qemu-img's use of no_zero_init only considered the
no_zero_init flag of the format driver, but not of the underlying protocols.

Between the raw/file split and this fix, converting to host devices is broken....

f163d073 04/23/2010 05:21 pm Stefan Hajnoczi

qemu-img: Eliminate bdrv_new_open() code duplication

Several commands have code to create a BlockDriverState and open a file.
The bdrv_new_open() function can be used to perform these steps. This
patch converts the qemu-img commands to actually use bdrv_new_open()....

adfe078e 04/23/2010 05:21 pm Stefan Hajnoczi

qemu-img: Fix BRDV_O_FLAGS typo

It should be BDRV_O_FLAGS instead of BRDV_O_FLAGS.

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

d6e9098e 04/23/2010 05:08 pm Kevin Wolf

Replace calls of old bdrv_open

What is known today as bdrv_open2 becomes the new bdrv_open. All remaining
callers of the old function are converted to the new one. In some places they
even know the right format, so they should have used bdrv_open2 from the...

3e7896de 03/09/2010 07:23 pm Juan Quintela

block: print errno on error

Now that we changed all create calls to return errno, just print it.

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

e53dbee0 03/09/2010 05:04 pm Kevin Wolf

qemu-img rebase: Add -f option

Allow the user to specify the format of the image to rebase.

Signed-off-by: Kevin Wolf <>
Signed-off-by: Anthony Liguori <>

60b1bd4f 02/19/2010 11:53 pm Kevin Wolf

qemu-img: Fix segfault during rebase

This fixes a possible read beyond the end of the temporary buffers used for
comparing data in the old and the new backing file.

Signed-off-by: Kevin Wolf <>
Signed-off-by: Anthony Liguori <>

584771e6 02/19/2010 11:53 pm Kevin Wolf

qemu-img: Fix error message

When qemu-img can't open the new backing file for a rebase, it prints an error
message which contains the file name of the old backing file. This is wrong,
obviously.

Signed-off-by: Kevin Wolf <>
Signed-off-by: Anthony Liguori <>

d6771bfa 02/10/2010 10:00 pm TeLeMan

qemu-img: use the heap instead of the huge stack array for win32

The default stack size of PE is 1MB on win32 and IO_BUF_SIZE in
img_convert() & img_rebase() is 2MB, so qemu-img will crash when doing
"convert" & "rebase" on win32.
Although we can improve the stack size of PE to resolve it, I think we...

9bc378c1 02/10/2010 07:56 pm Sheng Yang

qemu-img: Fix qemu-img can't create qcow image based on read-only image

Commit 03cbdac7 "Disable fall-back to read-only when cannot open drive's
file for read-write" result in read-only image can't be used as backed
image in qemu-img.

Cc: Naphtali Sprei <>...

3f020d70 02/08/2010 11:12 am malc

Revert "On some systems printf is a macro"

This reverts commit bc5b6004588ad17370e0416e40b4aa9cf977023b.

e00291c0 02/08/2010 11:12 am Paolo Bonzini

qemu-img: avoid preprocessor directives in a printf call

Other choices include using "(printf)", but this one is not bad in
terms of readability.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: malc <>

bc5b6004 02/07/2010 01:04 am malc

On some systems printf is a macro

Signed-off-by: malc <>

058fc8c7 01/26/2010 11:42 pm Naphtali Sprei

Ask for read-write permissions when opening files

Found some places that seems needs this explicitly, now that
read-write is not the default.

Signed-off-by: Naphtali Sprei <>
Signed-off-by: Anthony Liguori <>

f5edb014 01/20/2010 04:25 pm Naphtali Sprei

Clean-up a little bit the RW related bits of BDRV_O_FLAGS. BDRV_O_RDONLY gone (and so is BDRV_O_ACCESS). Default value for bdrv_flags (0/zero) is READ-ONLY. Need to explicitly request READ-WRITE.

Instead of using the field 'readonly' of the BlockDriverState struct for passing the request,...

b783e409 01/14/2010 01:14 am Kevin Wolf

block: Introduce BDRV_O_NO_BACKING

If an image references a backing file that doesn't exist, qemu-img info fails
to open this image. Exactly in this case the info would be valuable, though:
the user might want to find out which file is missing.

This patch introduces a BDRV_O_NO_BACKING flag to ignore the backing file when...

3e85c6fd 01/14/2010 01:14 am Kevin Wolf

qemu-img rebase

This adds a rebase subcommand to qemu-img which allows to change the backing
file of an image.

In default mode, both the current and the new backing file need to exist, and
after the rebase, the COW image is guaranteed to have the same guest visible...

7078dead 12/03/2009 11:26 pm Kevin Wolf

qemu-img: Fix memory leak

Signed-off-by: Kevin Wolf <>
Signed-off-by: Anthony Liguori <>

21eb3a2b 12/03/2009 11:25 pm Pierre Riteau

Fix description of size parameter in qemu-img's help text

Valid description taken from qemu-img.texi, although it would be better
to have this information recorded in only one place.

Signed-off-by: Pierre Riteau <>
Signed-off-by: Anthony Liguori <>

12c09b8c 12/03/2009 07:45 pm Kevin Wolf

qemu-img: There is more than one host device driver

I haven't heard yet of anyone using qemu-img to copy an image to a real floppy,
but it's a valid use case.

Signed-off-by: Kevin Wolf <>
Signed-off-by: Anthony Liguori <>

8063d0fe 11/09/2009 04:43 pm Kevin Wolf

Documentation: Don't mention old qemu-img options

The old options are still supported for compatibility, but they are
inconsistent (for example create -b vs. convert -B for backing files) and
incomplete (-F only exists for create) which tends to confuse people. Remove...