mbox series

[v3,0/2] quorum: Implement bdrv_co_block_status()

Message ID cover.1605111801.git.berto@igalia.com (mailing list archive)
Headers show
Series quorum: Implement bdrv_co_block_status() | expand

Message

Alberto Garcia Nov. 11, 2020, 4:53 p.m. UTC
Hi,

I realized that if one of the children returns an error during
co_block_status() then we should not pass the error immediately to the
caller, because that's a situation that Quorum should be able to
handle.

The new version of the patch takes the simpler approach of falling
back to returning BDRV_BLOCK_DATA, as if Quorum did not implement
bdrv_co_block_status(). This will force the caller to try to read the
actual data and the normal Quorum voting and error handling process
will be used.

Berto

v3:
- Fall back to BDRV_BLOCK_DATA if a child returns an error.

v2: https://lists.gnu.org/archive/html/qemu-block/2020-11/msg00259.html
- Implement bdrv_co_pwrite_zeroes() for quorum

v1: https://lists.gnu.org/archive/html/qemu-block/2020-11/msg00163.html


Alberto Garcia (2):
  quorum: Implement bdrv_co_block_status()
  quorum: Implement bdrv_co_pwrite_zeroes()

 block/quorum.c             |  70 ++++++++++++++++-
 tests/qemu-iotests/312     | 155 +++++++++++++++++++++++++++++++++++++
 tests/qemu-iotests/312.out |  71 +++++++++++++++++
 tests/qemu-iotests/group   |   1 +
 4 files changed, 295 insertions(+), 2 deletions(-)
 create mode 100755 tests/qemu-iotests/312
 create mode 100644 tests/qemu-iotests/312.out