mbox series

[v4,00/11] block: Add auto-read-only option

Message ID 20181019163013.11787-1-kwolf@redhat.com (mailing list archive)
Headers show
Series block: Add auto-read-only option | expand

Message

Kevin Wolf Oct. 19, 2018, 4:30 p.m. UTC
See patch 2 for an explanation of the motivation.

v4:
- Split fix for missing rbd_close() into a separate patch [Eric]
- Added qemu-iotests case

v3:
- Clarified QAPI schema documentation that auto-read-only can only
  degrade read-write to read-only, not the other way round [Eric]
- Don't refuse to set copy-on-read=on and auto-read-only=on at the same
  time; only complain when actually trying to degrade to read-only
- Let bdrv_apply_auto_read_only() return -EACCESS on all errors
- Fixed file-posix and gluster implementations [Eric, Niels]
- Added a patch to make auto-read-only=on the default for human user
  interfaces (-drive/-hda/...)

v2:
- Turn bdrv_set_read_only() into bdrv_apply_auto_read_only()
- Support the option in a lot more block drivers

Kevin Wolf (11):
  block: Update flags in bdrv_set_read_only()
  block: Add auto-read-only option
  rbd: Close image in qemu_rbd_open() error path
  block: Require auto-read-only for existing fallbacks
  nbd: Support auto-read-only option
  file-posix: Support auto-read-only option
  curl: Support auto-read-only option
  gluster: Support auto-read-only option
  iscsi: Support auto-read-only option
  block: Make auto-read-only=on default for -drive
  qemu-iotests: Test auto-read-only with -drive and -blockdev

 qapi/block-core.json       |   7 ++
 include/block/block.h      |   5 +-
 block.c                    |  54 +++++++++++---
 block/bochs.c              |  17 ++---
 block/cloop.c              |  16 ++--
 block/curl.c               |   8 +-
 block/dmg.c                |  16 ++--
 block/file-posix.c         |  19 ++++-
 block/gluster.c            |  12 ++-
 block/iscsi.c              |   8 +-
 block/nbd-client.c         |  10 +--
 block/rbd.c                |  14 +---
 block/vvfat.c              |  11 +--
 blockdev.c                 |   1 +
 tests/qemu-iotests/232     | 147 +++++++++++++++++++++++++++++++++++++
 tests/qemu-iotests/232.out |  59 +++++++++++++++
 tests/qemu-iotests/group   |   1 +
 17 files changed, 327 insertions(+), 78 deletions(-)
 create mode 100755 tests/qemu-iotests/232
 create mode 100644 tests/qemu-iotests/232.out

Comments

Kevin Wolf Oct. 31, 2018, 5:16 p.m. UTC | #1
Am 19.10.2018 um 18:30 hat Kevin Wolf geschrieben:
> See patch 2 for an explanation of the motivation.
> 
> v4:
> - Split fix for missing rbd_close() into a separate patch [Eric]
> - Added qemu-iotests case
> 
> v3:
> - Clarified QAPI schema documentation that auto-read-only can only
>   degrade read-write to read-only, not the other way round [Eric]
> - Don't refuse to set copy-on-read=on and auto-read-only=on at the same
>   time; only complain when actually trying to degrade to read-only
> - Let bdrv_apply_auto_read_only() return -EACCESS on all errors
> - Fixed file-posix and gluster implementations [Eric, Niels]
> - Added a patch to make auto-read-only=on the default for human user
>   interfaces (-drive/-hda/...)
> 
> v2:
> - Turn bdrv_set_read_only() into bdrv_apply_auto_read_only()
> - Support the option in a lot more block drivers
> 
> Kevin Wolf (11):
>   block: Update flags in bdrv_set_read_only()
>   block: Add auto-read-only option
>   rbd: Close image in qemu_rbd_open() error path
>   block: Require auto-read-only for existing fallbacks
>   nbd: Support auto-read-only option
>   file-posix: Support auto-read-only option
>   curl: Support auto-read-only option
>   gluster: Support auto-read-only option
>   iscsi: Support auto-read-only option
>   block: Make auto-read-only=on default for -drive
>   qemu-iotests: Test auto-read-only with -drive and -blockdev

Applied to the block branch (with the added hunk in patch 2).

Kevin