| Branch: | Revision:

root / qemu-io.c @ a74cdab4

History | View | Annotate | Download (37.7 kB)

# Date Author Comment
a9c49a6b 01/31/2011 11:03 am Kevin Wolf

qemu-io: Fix discard command

qemu-io passed bytes where it's supposed to pass sectors, so discard requests
were off.

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

1afec913 01/12/2011 09:48 pm Blue Swirl

qemu-io: fix a memory leak

Fix a memory leak, reported by cppcheck:
[/src/qemu/qemu-io.c:1135]: (error) Memory leak: ctx

Signed-off-by: Blue Swirl <>

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

edff5db1 12/17/2010 05:11 pm Stefan Hajnoczi

qemu-io: Add discard command

discard [-Cq] off len -- discards a number of bytes at a specified

discards a range of bytes from the given offset
'discard 512 1k' - discards 1 kilobyte from 512 bytes into the file
Discards a segment of the currently open file....
095343ad 12/17/2010 05:11 pm Kevin Wolf

qemu-io: Fix typo in help texts

Signed-off-by: Kevin Wolf <>

191c2890 10/22/2010 03:49 pm Kevin Wolf

qemu-io: New command map

The new map command in qemu-io lists all allocated/unallocated areas in an
image file.

Signed-off-by: Kevin Wolf <>

72aef731 09/21/2010 04:39 pm Christoph Hellwig

use qemu_blockalign consistently

Use qemu_blockalign for all allocations in the block layer. This allows
increasing the required alignment, which is need to support O_DIRECT on
devices with large block sizes.

Signed-off-by: Christoph Hellwig <>...

b407a81e 09/08/2010 01:39 pm Stefan Hajnoczi

qemu-io: Make alloc output useful when nb_sectors=1

There is no indication whether or not the sector is allocated when

sector allocated at offset 64 KiB

This message is produced whether or not the sector is allocated.

Simply use the same message as the plural case, I don't think the...

ca1d6ac6 07/31/2010 12:05 am Joel Schopp

fix variable type in qemu-io.c

The variable len can get a negative return value from cvtnum,
which we check for, but which is impossible with the current
unsigned variable type. Currently the if(len < 0) check is
pointless. This patch fixes that.

Signed-off-by: Joel Schopp <>...

0923c577 06/04/2010 12:43 pm Kevin Wolf

qemu-io: Fix error messages

The truncate and getlength commands passed a negative error number to strerror.
They also happen to be the two functions that are lacking a newline at the end
of their error message.

Signed-off-by: Kevin Wolf <>

776cbbbd 05/28/2010 02:14 pm Kevin Wolf

qemu-io: Add multiwrite command

The new multiwrite commands allows to use qemu-io for testing

Signed-off-by: Kevin Wolf <>

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

Fix %lld or %llx printf format use

Signed-off-by: Blue Swirl <>

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

6db95603 04/23/2010 05:08 pm Christoph Hellwig

block: get rid of the BDRV_O_FILE flag

BDRV_O_FILE is only used to communicate between bdrv_file_open and bdrv_open.
It affects two things: first bdrv_open only searches for protocols using
find_protocol instead of all image formats and host drivers. We can easily...

e432cef9 03/28/2010 05:42 pm Christoph Hellwig

qemu-io: fix aio help texts

Fix a few typos in the help texts for the various aio commands.

Signed-off-by: Christoph Hellwig <>
Signed-off-by: Aurelien Jarno <>

06b611c4 03/27/2010 03:02 pm Ryota Ozaki

qemu-io: Fix return value handling of bdrv_open

bdrv_open may return -errno so we have to check
if the return value is '< 0', not '== -1'.

Signed-off-by: Ryota Ozaki <>
Signed-off-by: Aurelien Jarno <>

9a2d77ad 01/26/2010 11:42 pm Christoph Hellwig

block: kill BDRV_O_CREAT

The BDRV_O_CREAT option is unused inside qemu and partially duplicates
the bdrv_create method. Remove it, and the -C option to qemu-io which
isn't used in qemu-iotests anyway.

Signed-off-by: Christoph Hellwig <>
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,...

6474bd69 12/23/2009 05:35 pm Blue Swirl

qemu-io: suppress a warning with gcc 4.0.2

Signed-off-by: Blue Swirl <>

40a0d7c3 12/18/2009 07:26 pm Kevin Wolf

qemu-io: Fix memory leak

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

b32bb952 12/13/2009 05:41 pm Blue Swirl

qemu-io: add 'const'

Signed-off-by: Blue Swirl <>

22a2bdcb 11/21/2009 11:06 am Blue Swirl

Fix OpenBSD build of qemu-io

GCC 3.3.5 generates warnings for static forward declarations of data, so
rearrange code to use static forward declarations of functions instead.

Use <getopt.h> for optind instead of local definition.

Signed-off-by: Blue Swirl <>

c32d766a 09/09/2009 10:57 pm Stefan Weil

qemu-io: Improve portability (win32 now supported).

  • Add missing include for struct timeval.
  • Replace non-portable strsep by local qemu_strsep.
  • Use POSIX basename by including libgen.h.

Signed-off-by: Stefan Weil <>
Signed-off-by: Anthony Liguori <>

5c6c3a6c 08/28/2009 04:30 am Christoph Hellwig

raw-posix: add Linux native AIO support

Now that do have a nicer interface to work against we can add Linux native
AIO support. It's an extremly thing layer just setting up an iocb for
the io_submit system call in the submission path, and registering an...

660f11be 08/01/2009 12:16 am Blue Swirl

Fix Sparse warnings: "Using plain integer as NULL pointer"

Signed-off-by: Blue Swirl <>

a7824a88 07/22/2009 06:58 pm Kevin Wolf

qemu-io: Rework alloc command

The alloc command in qemu-io is mostly useless currently. Instead of doing a
single call to bdrv_is_allocated, we must call bdrv_is_allocated in a loop
until we have found out for each requested sector if it is allocated or not...

cf070d7e 07/22/2009 06:58 pm Christoph Hellwig

qemu-io: reject invalid pattern

Replace the use of atoi which is used for pattern parsing currently with
strtol. Atoi won't parse sedecimal pattern values (it always returns 0),
but qemu-iotests use such pattern values. Also reject every pattern
that is not a unsigned char as we pass the pattern to memset which...

ca94dbc7 07/17/2009 01:28 am Kevin Wolf

qemu-io: Implement bdrv_load_vmstate/bdrv_save_vmstate

The load_vmstate and save_vmstate functions are implemented as a
variation of the normal read/write operation, enabled by the -b option.
This is the same mechanism as is used to switch from read/write to...

1db6947d 07/17/2009 01:28 am Christoph Hellwig

qemu-io: use BDRV_O_FILE to implement the growable open option

Instead of doing our own check for protocols which fails because raw isn't
formally a protocol but special cased in find_protocol specify the BDRV_O_FILE
option to use the same code as bdrv_file_open does....

230d4fa4 07/10/2009 08:25 pm Christoph Hellwig

qemu-io: small cleanups for the aio code

Address a couple of review comments from Kevin.

Signed-off-by: Christoph Hellwig <>

cf57298a 07/10/2009 08:25 pm Christoph Hellwig

qemu-io: better input validation for vector-based commands

Fix up a couple of issues with validating the input of the various
length arguments for the vectored I/O commands:

- do the alignment check on each length instead the always 0 count argument
- use a long long varibale for the cvtnum return value so that we can check...
9c4bab26 07/10/2009 08:25 pm Christoph Hellwig

qemu-io: add flag to mark files growable

Add a -g flag to the open command and the main qemu-io command line to
allow opening a file growable. This is only allowed for protocols,
mirroring the limitation exposed through bdrv_file_open.

Signed-off-by: Christoph Hellwig <>...

7d8abfcb 07/10/2009 08:25 pm Kevin Wolf

qemu-io: fix memory leak

qemu-io leaks the request buffer whenever the read or write function isn't
executed completely down the "normal" code path.

[hch: also fix the aio and vectored variants the same way]

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

3abcdf49 06/24/2009 05:09 pm Stefan Weil

Fix dump output in qemu-io.

The dump output was not nicely formatted for bytes
larger than 0x7f, because signed values expanded to
sizeof(int) bytes. So for example 0xab did not print
as "ab", but as "ffffffab".

I also cleaned the function prototype, which avoids...

84844a20 06/24/2009 05:09 pm Stefan Weil

qemu-io: Fix spelling in help message.

excerciser -> exerciser

Signed-off-by: Stefan Weil <>
Signed-off-by: Anthony Liguori <>

95533d5f 06/24/2009 05:09 pm Christoph Hellwig

qemu-io: add aio read/write/flush commands

Add commands to exercise asynchronous reads/writes and to flush all
outstanding aio commands. Commands to exercise aio cancellations will
follow in a separate patch.

Signed-off-by: Christoph Hellwig <>...

d4ec5228 05/10/2009 01:22 am Paul Brook

Workaround compiler warnings at -O1

Signed-off-by: Paul Brook <>

d9654a58 05/01/2009 05:44 pm Kevin Wolf

qemu-io: Optionally verify only part of read data

There are reasonable test cases where a read must span areas that are not
uniformly filled with one pattern but contains several parts. This makes -P
useless for them currently.

Introducing additional options which determine the part of the read data that...

c48101ae 04/18/2009 06:36 pm aliguori

qemu-io: Verify read data by patterns (Kevin Wolf)

This patch adds a -P option to read and readv which allows to compare the read
data to a given pattern. This can be used to verify data written by write -P.

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

838ab728 04/18/2009 06:36 pm aliguori

qemu-io: Fix handling of bdrv_is_allocated() return value (Kevin Wolf)

bdrv_is_allocated() returns a boolean which indicates if the offset is
allocated, not 0 on success and everything else is an error.

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

7e9bbc9f 04/18/2009 06:36 pm aliguori

a couple of qemu-io fixes (Christoph Hellwig)

Fix two stupid bugs that I forgot to push out:

- qiov->size already is in bytes, no need to shift it
- actually use the supplied patter in the writev command

Signed-off-by: Christoph Hellwig <>...

e3aff4f6 04/05/2009 10:14 pm aliguori

Add files not included in previous commit.

Signed-off-by: Anthony Liguori <>

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162