ecdd5333ab
Instead of just checking once in exactly this order if there are dependendies, non-COW clusters and new allocation, this starts looping around these. This way we can, for example, gather non-COW clusters after new allocations as long as the host cluster offsets stay contiguous. Once handle_dependencies() is extended so that COW areas of in-flight allocations can be overwritten, this allows to continue with gathering other clusters (we wouldn't be able to do that without this change because we would have missed a possible second dependency in one of the next clusters). This means that in the typical sequential write case, we can combine the COW overwrite of one cluster with the allocation of the next cluster as soon as something like Delayed COW gets actually implemented. It is only by avoiding splitting requests this way that Delayed COW actually starts improving performance noticably. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> |
||
---|---|---|
.. | ||
.gitignore | ||
001 | ||
001.out | ||
002 | ||
002.out | ||
003 | ||
003.out | ||
004 | ||
004.out | ||
005 | ||
005.out | ||
006 | ||
006.out | ||
007 | ||
007.out | ||
008 | ||
008.out | ||
009 | ||
009.out | ||
010 | ||
010.out | ||
011 | ||
011.out | ||
012 | ||
012.out | ||
013 | ||
013.out | ||
014 | ||
014.out | ||
015 | ||
015.out | ||
016 | ||
016.out | ||
017 | ||
017.out | ||
018 | ||
018.out | ||
019 | ||
019.out | ||
020 | ||
020.out | ||
021 | ||
021.out | ||
022 | ||
022.out | ||
023 | ||
023.out | ||
024 | ||
024.out | ||
025 | ||
025.out | ||
026 | ||
026.out | ||
027 | ||
027.out | ||
028 | ||
028.out | ||
029 | ||
029.out | ||
030 | ||
030.out | ||
031 | ||
031.out | ||
032 | ||
032.out | ||
033 | ||
033.out | ||
034 | ||
034.out | ||
035 | ||
035.out | ||
036 | ||
036.out | ||
037 | ||
037.out | ||
038 | ||
038.out | ||
039 | ||
039.out | ||
040 | ||
040.out | ||
041 | ||
041.out | ||
042 | ||
042.out | ||
043 | ||
043.out | ||
044 | ||
044.out | ||
045 | ||
045.out | ||
046 | ||
046.out | ||
047 | ||
047.out | ||
048 | ||
048.out | ||
049 | ||
049.out | ||
050 | ||
050.out | ||
052 | ||
052.out | ||
check | ||
common | ||
common.config | ||
common.filter | ||
common.pattern | ||
common.rc | ||
COPYING | ||
group | ||
iotests.py | ||
Makefile | ||
qcow2.py | ||
qed.py | ||
README |
=== 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@savannah.nongnu.org.