[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 0/4] Add 'x-blockdev-del' command
From: |
Alberto Garcia |
Subject: |
[Qemu-devel] [PATCH v3 0/4] Add 'x-blockdev-del' command |
Date: |
Fri, 23 Oct 2015 15:03:33 +0300 |
This version uses op blockers for the target image in the drive-mirror
job, but the implementation of 'x-blockdev-del' remains the same. I
copy the description from the previous series:
The semantics of 'x-blockdev-del' try to mirror the semantics of
'blockdev-add' as I discussed with Kevin in the previous thread.
There's two parameters: 'id' and 'node-name' and only one can be
specified.
1) 'x-blockdev-del id=foo' deletes the backend foo with its BDS, if
and only if neither have more than 1 reference and the BDS has
no parents and no op blockers.
2) 'x-blockdev-del node-name=foo' deletes the BDS foo, if and only
if it only has one reference, no parents, no op blockers AND it
is not attached to any block backend.
Regards,
Berto
v3:
- Remove the extra references added in v2 to the mirror and backup
jobs, and use op blockers instead (for the mirror case only).
v2: https://lists.gnu.org/archive/html/qemu-block/2015-10/msg00828.html
- Rename it as 'x-blockdev-del' and label it as experimental.
- Use two parameters instead of just one. If you try to delete a BDS,
it must not be attached to any backend.
- New test cases.
- Hold extra references during the mirror and backup block jobs.
v1: https://lists.gnu.org/archive/html/qemu-devel/2015-10/msg02999.html
- Initial implementation
Alberto Garcia (4):
mirror: block all operations on the target image during the job
block: Add blk_get_refcnt()
block: Add 'x-blockdev-del' QMP command
iotests: Add tests for the x-blockdev-del command
block/block-backend.c | 5 +
block/mirror.c | 4 +
blockdev.c | 66 +++++++
include/sysemu/block-backend.h | 1 +
qapi/block-core.json | 32 +++-
qmp-commands.hx | 46 ++++-
tests/qemu-iotests/139 | 408 +++++++++++++++++++++++++++++++++++++++++
tests/qemu-iotests/139.out | 5 +
tests/qemu-iotests/group | 1 +
9 files changed, 564 insertions(+), 4 deletions(-)
create mode 100644 tests/qemu-iotests/139
create mode 100644 tests/qemu-iotests/139.out
--
2.6.1
- [Qemu-devel] [PATCH v3 0/4] Add 'x-blockdev-del' command,
Alberto Garcia <=