[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] Use of PreallocMode in block drivers
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-block] [Qemu-devel] Use of PreallocMode in block drivers |
Date: |
Wed, 22 May 2019 18:25:17 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Stefano Garzarella <address@hidden> writes:
> On Wed, May 8, 2019 at 1:44 PM Markus Armbruster <address@hidden> wrote:
>>
>> Stefano Garzarella <address@hidden> 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.