qemu-e2k/qapi
Vladimir Sementsov-Ogievskiy 6db7fd1ca9 block/copy-before-write: implement cbw-timeout option
In some scenarios, when copy-before-write operations lasts too long
time, it's better to cancel it.

Most useful would be to use the new option together with
on-cbw-error=break-snapshot: this way if cbw operation takes too long
time we'll just cancel backup process but do not disturb the guest too
much.

Note the tricky point of realization: we keep additional point in
bs->in_flight during block_copy operation even if it's timed-out.
Background "cancelled" block_copy operations will finish at some point
and will want to access state. We should care to not free the state in
.bdrv_close() earlier.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@openvz.org>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
  [vsementsov: use bdrv_inc_in_flight()/bdrv_dec_in_flight() instead of
   direct manipulation on bs->in_flight]
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
2022-06-29 10:56:12 +03:00
..
acpi.json
audio.json qapi: Drop unnecessary empty lines outside of comments 2022-05-16 07:22:28 +02:00
authz.json
block-core.json block/copy-before-write: implement cbw-timeout option 2022-06-29 10:56:12 +03:00
block-export.json vduse-blk: Add name option 2022-06-24 17:07:06 +02:00
block.json block: add more commands to preconfig mode 2022-06-14 16:50:30 +02:00
char.json qapi: Stop using whitespace for alignment in comments 2022-05-16 07:26:25 +02:00
common.json qapi: Drop unnecessary empty lines in comments 2022-05-16 07:22:28 +02:00
compat.json
control.json qapi: Stop using whitespace for alignment in comments 2022-05-16 07:26:25 +02:00
crypto.json qapi: crypto-akcipher: Introduce akcipher types to qapi 2022-05-26 11:41:42 +01:00
dump.json qapi: Drop unnecessary whitespace in comments 2022-05-16 07:22:28 +02:00
error.json
introspect.json
job.json qapi: Drop unnecessary empty lines outside of comments 2022-05-16 07:22:28 +02:00
machine-target.json target/loongarch: Implement qmp_query_cpu_definitions() 2022-06-06 18:09:03 +00:00
machine.json hw/cxl: Make the CXL fixed memory window setup a machine parameter. 2022-06-09 19:32:49 -04:00
meson.build qmp: Support for querying stats 2022-06-14 16:50:29 +02:00
migration.json migration: Change zero_copy_send from migration parameter to migration capability 2022-06-22 18:11:17 +01:00
misc-target.json qapi: Drop unnecessary whitespace in comments 2022-05-16 07:22:28 +02:00
misc.json vfio-user: run vfio-user context 2022-06-15 16:43:42 +01:00
net.json net/vmnet: add vmnet backends to qapi/net 2022-05-17 16:48:23 +08:00
opts-visitor.c
pci.json
pragma.json qapi/pragma: Tidy up comments 2022-05-16 07:31:26 +02:00
qapi-clone-visitor.c
qapi-dealloc-visitor.c
qapi-forward-visitor.c
qapi-schema.json qmp: Support for querying stats 2022-06-14 16:50:29 +02:00
qapi-type-helpers.c
qapi-util.c
qapi-visit-core.c
qdev.json
qmp-dispatch.c
qmp-event.c
qmp-registry.c
qobject-input-visitor.c
qobject-output-visitor.c
qom.json vfio-user: define vfio-user-server object 2022-06-15 16:43:42 +01:00
rdma.json
replay.json qapi: Drop unnecessary empty lines in comments 2022-05-16 07:22:28 +02:00
rocker.json
run-state.json qapi: Drop unnecessary whitespace in comments 2022-05-16 07:22:28 +02:00
sockets.json qapi: Stop using whitespace for alignment in comments 2022-05-16 07:26:25 +02:00
stats.json qmp: add filtering of statistics by name 2022-06-14 16:50:30 +02:00
string-input-visitor.c
string-output-visitor.c
tpm.json
trace-events
trace.h
trace.json
transaction.json
ui.json ui: Switch "-display sdl" to use the QAPI parser 2022-06-03 08:03:28 +02:00
yank.json