The BlockDriver->bdrv_create() function is always called from coroutine context. These patches rename it and clean up qcow2 code that is currently calling CoMutex functions outside coroutine_fn.
Stefan Hajnoczi (2): block: rename .bdrv_create() to .bdrv_co_create() qcow2: make qcow2_co_create2() a coroutine_fn include/block/block_int.h | 3 ++- block.c | 4 ++-- block/crypto.c | 8 ++++---- block/file-posix.c | 15 ++++++++------- block/file-win32.c | 3 ++- block/gluster.c | 12 ++++++------ block/iscsi.c | 7 ++++--- block/nfs.c | 5 +++-- block/parallels.c | 6 ++++-- block/qcow.c | 5 +++-- block/qcow2.c | 22 ++++++++++++---------- block/qed.c | 6 ++++-- block/raw-format.c | 5 +++-- block/rbd.c | 6 ++++-- block/sheepdog.c | 10 +++++----- block/ssh.c | 5 +++-- block/vdi.c | 5 +++-- block/vhdx.c | 5 +++-- block/vmdk.c | 5 +++-- block/vpc.c | 5 +++-- 20 files changed, 81 insertions(+), 61 deletions(-) -- 2.9.4
