Before write notifiers currently have two users: block/backup.c uses before write notifiers to intercept write requests. This can be refactored to use the filter driver interface by injecting an implicit filter node to intercept the write requests and call backup_do_cow().
block/write-threshold.c checks that write requests do not pass a user set offset and issue an event when they do. A new write-threshold driver can perform the same function and be added by the user when block-{insert,remove}-node are introduced. It is not trivial to convert the existing interface (block-set-write-threshold) to using the filter driver. Based-on: <20170809140256.25584-1-el13...@mail.ntua.gr> Manos Pitsidianakis (2): block: use internal filter node in backup block: add filter driver to block/write-threshold.c block.c | 89 ++++++++++++-- block/backup.c | 207 +++++++++++++++++++++++++++---- block/io.c | 10 +- block/mirror.c | 4 +- block/qapi.c | 2 +- block/write-threshold.c | 264 +++++++++++++++++++++++++++++++++++----- blockdev.c | 2 +- include/block/block.h | 8 +- include/block/write-threshold.h | 22 ++-- qapi/block-core.json | 19 ++- tests/qemu-iotests/141.out | 2 +- tests/test-write-threshold.c | 40 +++--- 12 files changed, 558 insertions(+), 111 deletions(-) -- 2.11.0