Description of problem:
Just as discuss with kwolf in IRC, the problem is that the bdrv_create() implementation for these block drivers directly use POSIX file functions instead of using the qemu block layer, so they work only on local files and fail with glusterfs storage.
BTW, raw/qcow2/qed/vhdx format has no such issue.
Version-Release number of selected component (if applicable):
host info:
# uname -r && rpm -q qemu-kvm-rhev
2.6.32-448.el6.x86_64
qemu-kvm-rhev-0.12.1.2-2.424.el6.x86_64
How reproducible:
100%
Steps to Reproduce:
# qemu-img create -f vmdk gluster://10.66.9.107/volume_name/test 10G
Formatting 'gluster://10.66.9.107/volume_name/test', fmt=vmdk size=10737418240 compat6=off zeroed_grain=off
gluster://10.66.9.107/volume_name/test: error while creating vmdk: Invalid argument
# qemu-img create -f vpc gluster://10.66.9.107/volume_name/test 10G
Formatting 'gluster://10.66.9.107/volume_name/test', fmt=vpc size=10737418240
gluster://10.66.9.107/volume_name/test: error while creating vpc: Input/output error
# qemu-img create -f vdi gluster://10.66.9.107/volume_name/test 10G
Formatting 'gluster://10.66.9.107/volume_name/test', fmt=vdi size=10737418240 static=off
gluster://10.66.9.107/volume_name/test: error while creating vdi: No such file or directory
Actual results:
Expected results:
creating vmdk/vpc/vdi image in glusterfs should work.
Additional info:
Worth investigating the effort needed to implement it upstream and in RHEL7 (bug 1098086), but closing as WONTFIX in RHEL6, as the usage scenario is very unlikely to happen in the field.