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.out
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.out
--
2.11.1
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.out > Have you been able to reproduce a race that proves the filter is necessary, or can you explain how it might happen? I think I mentioned it once as a possibility but I hadn't convinced myself.
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.out >> > Have 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
29.06.2018 20:36, Vladimir Sementsov-Ogievskiy wrote: > 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.out >>> >> Have 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. found: http://lists.nongnu.org/archive/html/qemu-devel/2017-08/msg01807.html > >> >> I think I mentioned it once as a possibility but I hadn't convinced >> myself. > > -- Best regards, Vladimir
© 2016 - 2026 Red Hat, Inc.