qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v4 0/7] copy-before-write: on-cbw-error and cbw-timeout


From: Vladimir Sementsov-Ogievskiy
Subject: Re: [PATCH v4 0/7] copy-before-write: on-cbw-error and cbw-timeout
Date: Thu, 26 May 2022 21:51:13 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1

On 5/26/22 19:46, Vladimir Sementsov-Ogievskiy wrote:
On 4/7/22 16:27, Vladimir Sementsov-Ogievskiy wrote:
Hi all!

v4: Now based on master
01: add assertion and r-b
02: s/7.0/7.1/ and r-b
03: switch to QEMUMachine, touch-up pylintrc,  drop r-b
04,05,06: add r-b
07: switch to QEMUMachine


Here are two new options for copy-before-write filter:

on-cbw-error allows to alter the behavior on copy-before-write operation
failure: not break guest write but break the snapshot (and therefore
backup process)

cbw-timeout allows to limit cbw operation by some timeout.

So, for example, using cbw-timeout=60 and on-cbw-error=break-snapshot
you can be sure that guest write will not stuck for more than 60
seconds and will never fail due to backup problems.

Vladimir Sementsov-Ogievskiy (7):
   block/copy-before-write: refactor option parsing
   block/copy-before-write: add on-cbw-error open parameter
   iotests: add copy-before-write: on-cbw-error tests
   util: add qemu-co-timeout
   block/block-copy: block_copy(): add timeout_ns parameter
   block/copy-before-write: implement cbw-timeout option
   iotests: copy-before-write: add cases for cbw-timeout option

  qapi/block-core.json                          |  31 ++-
  include/block/block-copy.h                    |   4 +-
  include/qemu/coroutine.h                      |  13 ++
  block/block-copy.c                            |  33 ++-
  block/copy-before-write.c                     | 111 ++++++---
  util/qemu-co-timeout.c                        |  89 ++++++++
  tests/qemu-iotests/pylintrc                   |   5 +
  tests/qemu-iotests/tests/copy-before-write    | 213 ++++++++++++++++++
  .../qemu-iotests/tests/copy-before-write.out  |   5 +
  util/meson.build                              |   1 +
  10 files changed, 466 insertions(+), 39 deletions(-)
  create mode 100644 util/qemu-co-timeout.c
  create mode 100755 tests/qemu-iotests/tests/copy-before-write
  create mode 100644 tests/qemu-iotests/tests/copy-before-write.out


Thanks for review, applied to my new block branch at 
https://gitlab.com/vsementsov/qemu.git


Or not. I still need an acc for QAPI interface (Eric or Markus could you please 
look?).

Also, may be I should rename qemu-co-timeout.c to qemu-coroutine-timeout.c, to match 
"F: util/*coroutine*" in MAINTAINERS.. Stefan, Kevin, could you please look at 
it?


--
Best regards,
Vladimir



reply via email to

[Prev in Thread] Current Thread [Next in Thread]