Jobs are expected to return 0 on success. .bdrv_co_create() on the other hand is a block layer function, and as such returns a non-negative value on success.
blockdev_create_run() should translate between the two (patch 1). Without patch 1, blockdev-create is likely to fail for VPC images. Hence patch 2. Max Reitz (2): block: Let blockdev-create return 0 on success iotests: Test blockdev-create for vpc block/create.c | 3 +- tests/qemu-iotests/266 | 182 +++++++++++++++++++++++++++++++++++++ tests/qemu-iotests/266.out | 107 ++++++++++++++++++++++ tests/qemu-iotests/group | 1 + 4 files changed, 292 insertions(+), 1 deletion(-) create mode 100755 tests/qemu-iotests/266 create mode 100644 tests/qemu-iotests/266.out -- 2.21.0