|
From: | Anton Nefedov |
Subject: | Re: [Qemu-devel] [PATCH v1 04/13] qcow2: preallocation at image expand |
Date: | Wed, 24 May 2017 19:57:30 +0300 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 |
On 05/22/2017 10:29 PM, Eric Blake wrote:
On 05/19/2017 04:34 AM, Anton Nefedov wrote:From: "Denis V. Lunev" <address@hidden> This patch adds image preallocation at expand to provide better locality of QCOW2 image file and optimize this procedure for some distributed storages where this procedure is slow. Image expand requests have to be suspended until the allocation is performed which is done via special QCowL2Meta. This meta is invisible to handle_dependencies() code. This is the main reason for also calling preallocation before metadata write: it might intersect with preallocation triggered by another IO, and has to yieldHow does this interact with Max's work on preallocated truncate? https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg00267.html
Seems like Max's patchset makes it possible to manually (with qemu-img) allocate a continuous guest address space in advance? Preallocation in this series is a little bit different: - it's in-flight, and it fallocates (using drv->write_zeroes) space ahead in the underlying image as qcow2 writes beyond EOF. - it doesn't link L2. So it leaves the image 'sparse' on qcow2 level. If you ask me, these 2 patchsets are not contradictory, and probably won't even merge-conflict :) /Anton
[Prev in Thread] | Current Thread | [Next in Thread] |