The NVMe driver does not support image creation. The full drive has to be passed to the guest.
Before: $ qemu-img create -f raw nvme://0000:04:00.0/1 20G Formatting 'nvme://0000:04:00.0/1', fmt=raw size=21474836480 $ qemu-img info nvme://0000:04:00.0/1 image: nvme://0000:04:00.0/1 file format: raw virtual size: 349 GiB (375083606016 bytes) disk size: unavailable After: $ qemu-img create -f raw nvme://0000:04:00.0/1 20G qemu-img: nvme://0000:04:00.0/1: Protocol driver 'nvme' does not support image creation Fixes: 5a5e7f8cd86 ("block: trickle down the fallback image creation function use to the block drivers") Reported-by: Xueqiang Wei <xu...@redhat.com> Suggested-by: Max Reitz <mre...@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> --- Cc: Maxim Levitsky <mlevi...@redhat.com> --- block/nvme.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/block/nvme.c b/block/nvme.c index a06a188d530..73ddf837c2b 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -1515,9 +1515,6 @@ static BlockDriver bdrv_nvme = { .protocol_name = "nvme", .instance_size = sizeof(BDRVNVMeState), - .bdrv_co_create_opts = bdrv_co_create_opts_simple, - .create_opts = &bdrv_create_opts_simple, - .bdrv_parse_filename = nvme_parse_filename, .bdrv_file_open = nvme_file_open, .bdrv_close = nvme_close, -- 2.26.2