29.06.2018 19:38, John Snow wrote:
On 06/29/2018 11:15 AM, Vladimir Sementsov-Ogievskiy wrote:Image fleecing, or external (or pull) backup scheme is near to complete. Here is forgotten test, written by Fam in far 2014, with two my necessary patches, previously sent separately, so the series are called "v2" v2: 01: add transaction support 02: rebase on master, drop "'fleecing-filter': 'BlockdevCreateNotSupported'" add empty .bdrv_close add default .bdrv_child_perm 03: comparing to [PATCH v20 15/15] qemu-iotests: Image fleecing test case 08: add -f iotests.imgfmt to qemu_io fix target_img to be always qcow2 add -r to qemu_io for nbd add fleecing-filter layer wrap long lines Fam Zheng (1): qemu-iotests: Image fleecing test case 222 Vladimir Sementsov-Ogievskiy (2): blockdev-backup: enable non-root nodes for backup source block/fleecing-filter: new filter driver for fleecing qapi/block-core.json | 6 ++- block/fleecing-filter.c | 80 ++++++++++++++++++++++++++++++++ blockdev.c | 4 +- block/Makefile.objs | 1 + tests/qemu-iotests/222 | 112 +++++++++++++++++++++++++++++++++++++++++++++ tests/qemu-iotests/222.out | 5 ++ tests/qemu-iotests/group | 1 + 7 files changed, 205 insertions(+), 4 deletions(-) create mode 100644 block/fleecing-filter.c create mode 100755 tests/qemu-iotests/222 create mode 100644 tests/qemu-iotests/222.outHave you been able to reproduce a race that proves the filter is necessary, or can you explain how it might happen?
No. But same logic is in block/replication, and I remember, that I discussed it on list, and the case I've described in 02 is not my idea.
I think I mentioned it once as a possibility but I hadn't convinced myself.
-- Best regards, Vladimir
