We don't need this workaround anymore: bdrv_append is already smart
enough and we can use new bdrv_drop_filter().
This commit efficiently reverts also recent 705dde27c6
, which
checked .active on io path. Still it said that the problem should be
theoretical. And the logic of filter removement is changed anyway.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20210428151804.439460-25-vsementsov@virtuozzo.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
24 lines
1.5 KiB
Plaintext
24 lines
1.5 KiB
Plaintext
{"execute": "blockdev-add", "arguments": {"driver": "null-co", "node-name": "target", "size": 1048576}}
|
|
{"return": {}}
|
|
{"execute": "blockdev-add", "arguments": {"driver": "blkdebug", "image": {"driver": "null-co", "node-name": "base", "size": 1048576}, "node-name": "source"}}
|
|
{"return": {}}
|
|
{"execute": "blockdev-add", "arguments": {"driver": "blkdebug", "image": "base", "node-name": "other", "take-child-perms": ["write"]}}
|
|
{"return": {}}
|
|
{"execute": "blockdev-backup", "arguments": {"device": "source", "sync": "full", "target": "target"}}
|
|
{"error": {"class": "GenericError", "desc": "Cannot append backup-top filter: Conflicts with use by source as 'image', which does not allow 'write' on base"}}
|
|
|
|
=== backup-top should be gone after job-finalize ===
|
|
|
|
{"execute": "blockdev-add", "arguments": {"driver": "null-co", "node-name": "source"}}
|
|
{"return": {}}
|
|
{"execute": "blockdev-add", "arguments": {"driver": "null-co", "node-name": "target"}}
|
|
{"return": {}}
|
|
{"execute": "blockdev-backup", "arguments": {"auto-dismiss": false, "auto-finalize": false, "device": "source", "filter-node-name": "backup-filter", "job-id": "backup", "sync": "full", "target": "target"}}
|
|
{"return": {}}
|
|
{"execute": "job-finalize", "arguments": {"id": "backup"}}
|
|
{"return": {}}
|
|
{"execute": "human-monitor-command", "arguments": {"command-line": "qemu-io backup-filter \"write 0 1M\""}}
|
|
{"return": "Error: Cannot find device='' nor node-name='backup-filter'\r\n"}
|
|
{"execute": "job-dismiss", "arguments": {"id": "backup"}}
|
|
{"return": {}}
|