qemu-patch-raspberry4/tests
Paolo Bonzini b812f6719c mirror: perform COW if the cluster size is bigger than the granularity
When mirroring runs, the backing files for the target may not yet be
ready.  However, this means that a copy-on-write operation on the target
would fill the missing sectors with zeros.  Copy-on-write only happens
if the granularity of the dirty bitmap is smaller than the cluster size
(and only for clusters that are allocated in the source after the job
has started copying).  So far, the granularity was fixed to 1MB; to avoid
the problem we detected the situation and required the backing files to
be available in that case only.

However, we want to lower the granularity for efficiency, so we need
a better solution.  The solution is to always copy a whole cluster the
first time it is touched.  The code keeps a bitmap of clusters that
have already been allocated by the mirroring job, and only does "manual"
copy-on-write if the chunk being copied is zero in the bitmap.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2013-01-25 18:18:33 +01:00
..
qemu-iotests mirror: perform COW if the cluster size is bigger than the granularity 2013-01-25 18:18:33 +01:00
tcg target-mips: Fix helper and tests for dot/cross-dot product instructions 2013-01-08 11:58:43 +01:00
.gitignore Add .gitignore for tests/ 2012-04-20 13:23:27 +01:00
check-block.sh Add 'make check-block' 2012-03-12 15:14:07 +01:00
check-qdict.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
check-qfloat.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
check-qint.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
check-qjson.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
check-qlist.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
check-qstring.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
fdc-test.c fdc-tests: add tests for VERIFY command 2012-11-14 18:19:22 +01:00
hd-geo-test.c qtest: Test we don't put hard disk info into CMOS for a CD-ROM 2012-07-17 16:48:31 +02:00
libi2c-omap.c libqtest: Prepare I2C libqos 2013-01-16 12:14:20 -06:00
libi2c.c libqtest: Prepare I2C libqos 2013-01-16 12:14:20 -06:00
libi2c.h libqtest: Prepare I2C libqos 2013-01-16 12:14:20 -06:00
libqtest.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
libqtest.h qtest: Add function to send QMP commands 2012-05-10 10:32:11 +02:00
m48t59-test.c m48t59-test: don't touch watchdog 2013-01-10 15:23:39 +01:00
Makefile add hierarchical bitmap data type and test cases 2013-01-25 18:18:32 +01:00
qemu-iotests-quick.sh make check: Add qemu-iotests subset 2012-03-12 15:14:07 +01:00
rtc-test.c rtc-test: skip year-2038 overflow check in case time_t is 32bit only 2013-01-10 15:23:39 +01:00
test-aio.c aio: Fix return value of aio_poll() 2013-01-17 10:51:42 +01:00
test-coroutine.c block: move include files to include/block/ 2012-12-19 08:31:31 +01:00
test-hbitmap.c add hierarchical bitmap data type and test cases 2013-01-25 18:18:32 +01:00
test-iov.c test-iov: add iov_discard_front/back() testcases 2013-01-02 15:58:09 +01:00
test-qmp-commands.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
test-qmp-input-strict.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
test-qmp-input-visitor.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
test-qmp-output-visitor.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
test-string-input-visitor.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
test-string-output-visitor.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
test-thread-pool.c block: move include files to include/block/ 2012-12-19 08:31:31 +01:00
test-visitor-serialization.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
tmp105-test.c tests: Add tmp105 qtest test case 2013-01-16 12:14:20 -06:00