On 17.05.21 08:44, Vladimir Sementsov-Ogievskiy wrote:
Finally, copy-before-write gets own .bdrv_open and .bdrv_close
handlers, block_init() call and becomes available through bdrv_open().
To achieve this:
- cbw_init gets unused flags argument and becomes cbw_open
- block_copy_state_free() call moved to new cbw_close()
- in bdrv_cbw_append:
- options are completed with driver and node-name, and we can simply
use bdrv_insert_node() to do both open and drained replacing
- in bdrv_cbw_drop:
- cbw_close() is now responsible for freeing s->bcs, so don't do it
here
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com>
---
block/copy-before-write.c | 60 ++++++++++++++++++---------------------
1 file changed, 28 insertions(+), 32 deletions(-)
Reviewed-by: Max Reitz <mre...@redhat.com>