Kevin Wolf 4e4bf5c42c block: Attach bs->file only during .bdrv_open()
The way that attaching bs->file worked was a bit unusual in that it was
the only child that would be attached to a node which is not opened yet.
Because of this, the block layer couldn't know yet which permissions the
driver would eventually need.

This patch moves the point where bs->file is attached to the beginning
of the individual .bdrv_open() implementations, so drivers already know
what they are going to do with the child. This is also more consistent
with how driver-specific children work.

For a moment, bdrv_open() gets its own BdrvChild to perform image
probing, but instead of directly assigning this BdrvChild to the BDS, it
becomes a temporary one and the node name is passed as an option to the
drivers, so that they can simply use bdrv_open_child() to create another
reference for their own use.

This duplicated child for (the not opened yet) bs is not the final
state, a follow-up patch will change the image probing code to use a
BlockBackend, which is completely independent of bs.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
2017-02-24 16:09:23 +01:00
..
030
2017-02-24 16:09:23 +01:00
2016-04-15 17:22:11 +02:00
055
2016-09-20 22:12:57 +02:00
2015-01-23 12:41:32 -05:00
083
2016-05-12 15:33:23 +02:00
2016-01-07 21:30:17 +01:00
2016-08-08 13:05:43 +02:00
2015-12-18 14:36:17 +01:00
2016-05-19 16:45:31 +02:00
2016-03-30 12:16:03 +02:00
2016-02-22 09:49:46 +01:00
157
2016-07-13 13:41:39 +02:00
159
2016-09-20 22:10:57 +02:00
2016-09-20 22:10:57 +02:00
160
2016-09-20 22:10:57 +02:00
2016-09-20 22:10:57 +02:00
170
2016-09-20 22:10:57 +02:00
2016-09-20 22:10:57 +02:00
172
2016-10-27 16:29:14 -04:00
174
2017-02-12 00:47:42 +01:00
2017-02-12 00:47:42 +01:00

=== This is the QEMU I/O test suite ===

* Intro

This package contains a simple test suite for the I/O layer of qemu.
It does not require a guest, but only the qemu, qemu-img and qemu-io
binaries.  This does limit it to exercise the low-level I/O path only
but no actual block drivers like ide, scsi or virtio.

* Usage

Just run ./check to run all tests for the raw image format, or ./check
-qcow2 to test the qcow2 image format.  The output of ./check -h explains
additional options to test further image formats or I/O methods.

* Feedback and patches

Please send improvements to the test suite, general feedback or just
reports of failing tests cases to qemu-devel@nongnu.org with a CC:
to qemu-block@nongnu.org.