All users of the block layers are supposed to go through a BlockBackend. The .bdrv_create() implementations are such users, so this series converts them.
This series (specifically patch 1) will also help with moving the writethrough cache implementation from BDS to BB, where it really belongs. Once this is moved, it wouldn't be possible to use bdrv_open() to use a standalone BDS writethrough any more. Of course, writethrough doesn't make any sense in .bdrv_create() anyway, so while I'm still converting everything to BB where it would keep working (because that's the Right Thing), the drivers don't actually make use of this fact any more after this series. Kevin Wolf (11): block: Use writeback in .bdrv_create() implementations block: Introduce blk_set_allow_write_beyond_eof() parallels: Use BB functions in .bdrv_create() qcow: Use BB functions in .bdrv_create() qcow2: Use BB functions in .bdrv_create() qed: Use BB functions in .bdrv_create() sheepdog: Use BB functions in .bdrv_create() vdi: Use BB functions in .bdrv_create() vhdx: Use BB functions in .bdrv_create() vmdk: Use BB functions in .bdrv_create() vpc: Use BB functions in .bdrv_create() block/block-backend.c | 23 +++++++++---- block/parallels.c | 24 ++++++++------ block/qcow.c | 24 ++++++++------ block/qcow2.c | 61 ++++++++++++++++++---------------- block/qed.c | 28 ++++++++-------- block/sheepdog.c | 41 +++++++++++++---------- block/vdi.c | 22 ++++++++----- block/vhdx.c | 28 +++++++++------- block/vmdk.c | 74 ++++++++++++++++++++++++------------------ block/vpc.c | 36 +++++++++++--------- include/sysemu/block-backend.h | 1 + 11 files changed, 211 insertions(+), 151 deletions(-) -- 1.8.3.1
