Stefano Garzarella <sgarz...@redhat.com> writes: > On Wed, May 8, 2019 at 1:44 PM Markus Armbruster <arm...@redhat.com> wrote: >> >> Stefano Garzarella <sgarz...@redhat.com> writes: >> >> > On Tue, May 07, 2019 at 08:34:51AM +0200, Markus Armbruster wrote: [...] >> >> Let me review support in drivers: >> >> >> >> * file (file-win32.c) >> >> * iscsi >> >> * nfs >> >> * qed >> >> * ssh >> >> >> >> - Reject all but PREALLOC_MODE_OFF >> >> >> >> * copy-on-read >> >> * luks (crypto.c) >> >> * raw >> >> >> >> - Pass through only >> >> >> >> * file host_cdrom host_device (file-posix.c) >> >> >> >> - Reject all but PREALLOC_MODE_OFF when shrinking and for non-regular >> >> files >> >> - Reject PREALLOC_MODE_FALLOC unless CONFIG_POSIX_FALLOCATE >> >> - Reject PREALLOC_MODE_METADATA >> >> >> >> * gluster >> >> >> >> - Reject all but PREALLOC_MODE_OFF when shrinking >> >> - Reject PREALLOC_MODE_FALLOC unless CONFIG_GLUSTERFS_FALLOCATE >> >> - Reject PREALLOC_MODE_FULL unless CONFIG_GLUSTERFS_ZEROFILL >> >> - Reject PREALLOC_MODE_METADATA >> >> >> >> * qcow2 >> >> >> >> - Reject all but PREALLOC_MODE_OFF when shrinking and with a backing >> >> file >> >> >> >> * rbd with this patch >> >> >> >> - Reject all but PREALLOC_MODE_OFF when shrinking >> >> - Reject PREALLOC_MODE_METADATA and PREALLOC_MODE_FALLOC >> >> >> >> * sheepdog >> >> >> >> - Reject PREALLOC_MODE_METADATA and PREALLOC_MODE_FALLOC >> >> - Doesn't support shrinking >> >> >> >> * vdi >> >> >> >> - Reject PREALLOC_MODE_FALLOC and PREALLOC_MODE_FULL >> >> - Doesn't support shrinking >> >> >> >> * blkdebug >> >> * blklogwrites >> >> * blkverify >> >> * bochs >> >> * cloop >> >> * dmg >> >> * ftp >> >> * ftps >> >> * http >> >> * https >> >> * luks >> >> * nbd >> >> * null-aio >> >> * null-co >> >> * nvme >> >> * parallels >> >> * qcow >> >> * quorum >> >> * replication >> >> * throttle >> >> * vhdx >> >> * vmdk >> >> * vpc >> >> * vvfat >> >> * vxhs >> >> >> >> - These appear not to use PreallocMode: they don't implement >> >> .bdrv_co_truncate(), and either don't implement .bdrv_co_create() or >> >> implement it without a prealloc parameter. >> >> >> >> Looks good to me. >> >> >> > >> > Thanks for the analysis! [...] >> > If you agree, I can check and update the documentation of all drivers >> > following >> > your analysis. >> >> Yes, please! > > > Hi Markus, > I'm finally updating the documentation of preallocation modes > supported by block drivers and protocols in qapi/block-core.json. > As sheepdog and vdi I'm adding the supported values for each driver or > protocol that supports 'preallocation' parameter during the creation, > I'm also updating the '.help' in the QemuOptsList. > > My doubt is: where is better to put the documentation about > preallocation modes supported during the resize? (e.g. some drivers > support only PREALLOC_MODE_OFF when shrinking)
As far as I can tell, no driver supports anything but PREALLOC_MODE_OFF when shrinking. Suggest to ignore the shrinking case for now when documenting. I'm not sure I fully answered your question. Don't hesitate to ask for more advice.