Statistics
| Branch: | Revision:

root / include / block @ f67503e5

Name Size
aio.h 9 kB
block.h 22.5 kB
block_int.h 19.6 kB
blockjob.h 8.2 kB
coroutine.h 6 kB
coroutine_int.h 1.9 kB
nbd.h 3.3 kB
qapi.h 2.2 kB
scsi.h 10.7 kB
snapshot.h 3.3 kB
thread-pool.h 1.1 kB

Latest revisions

# Date Author Comment
f67503e5 02/21/2014 10:02 pm Max Reitz

block: Change BDS parameter of bdrv_open() to **

Make bdrv_open() take a pointer to a BDS pointer, similarly to
bdrv_file_open(). If a pointer to a NULL pointer is given, bdrv_open()
will create a new BDS with an empty name; if the BDS pointer is not
NULL, that existing BDS will be reused (in the same way as bdrv_open()...

9e1cb96d 01/24/2014 06:40 pm Kevin Wolf

qemu-iotests: Test pwritev RMW logic

Signed-off-by: Kevin Wolf <>
Reviewed-by: Max Reitz <>

8407d5d7 01/24/2014 06:40 pm Kevin Wolf

block: Make bdrv_pwrite() a bdrv_prwv_co() wrapper

Instead of implementing the alignment adjustment here, use the now
existing functionality of bdrv_co_do_pwritev().

Signed-off-by: Kevin Wolf <>
Reviewed-by: Max Reitz <>

c25f53b0 01/24/2014 06:40 pm Paolo Bonzini

raw: Probe required direct I/O alignment

Add a bs->request_alignment field that contains the required
offset/length alignment for I/O requests and fill it in the raw block
drivers. Use ioctls if possible, else see what alignment it takes for
O_DIRECT to succeed....

793ed47a 01/24/2014 06:40 pm Kevin Wolf

block: Switch BdrvTrackedRequest to byte granularity

Signed-off-by: Kevin Wolf <>
Reviewed-by: Max Reitz <>
Reviewed-by: Benoit Canet <>

2dbafdc0 01/24/2014 06:40 pm Kevin Wolf

block: Generalise and optimise COR serialisation

Change the API so that specific requests can be marked serialising. Only
these requests are checked for overlaps then.

This means that during a Copy on Read operation, not all requests
overlapping other requests are serialised any more, but only those that...

7327145f 01/24/2014 06:40 pm Kevin Wolf

block: Make overlap range for serialisation dynamic

Copy on Read wants to serialise with all requests touching the same
cluster, so wait_serialising_requests() rounded to cluster boundaries.
Other users like alignment RMW will have different requirements, though...

6460440f 01/24/2014 06:40 pm Kevin Wolf

block: Allow wait_serialising_requests() at any point

We can only have a single wait_serialising_requests() call per request
because otherwise we can run into deadlocks where requests are waiting
for each other. The same is true when wait_serialising_requests() is not...

339064d5 01/24/2014 06:40 pm Kevin Wolf

block: Don't use guest sector size for qemu_blockalign()

bs->buffer_alignment is set by the device emulation and contains the
logical block size of the guest device. This isn't something that the
block layer should know, and even less something to use for determining...

1b7fd729 01/24/2014 06:40 pm Paolo Bonzini

block: rename buffer_alignment to guest_block_size

The alignment field is now set to the value that is promised to the
guest, rather than required by the host. The next patches will make
QEMU aware of the host-provided values, so make this clear.

The alignment is also not about memory buffers, but about the sectors on...

View revisions

Also available in: Atom