Am 01.09.2011 17:56, schrieb Christoph Hellwig: > On Thu, Sep 01, 2011 at 03:27:35PM +0100, Daniel P. Berrange wrote: >> One other question too, when creating a qcow2 image via 'qemu-img create' >> you can specify a 'prealloc' option to require metadata to be allocated >> at time of creation. >> >> Should we have the same control at time of resize too. If the app had >> originally created the qcow2 image with preallocated metadata, then >> I'd expect they want to pre-allocate metadata when extending it too, >> or is there no additional metadata allocation required when extending >> an image ? > > Sounds reasonable. Keving, is there a sane way to implement this?
Implementing the functionality itself shouldn't be a big problem. The big question is what the right interface would look like. We have driver specific preallocation options, so we would end up with something like this: bdrv_truncate(bs, int64_t size, char* prealloc_mode). Not exactly nice. And is preallocation the only thing or would we need to pass a whole option list like for image creation? Of course, if this is a real requirement and not only a random thought, we can always introduce a specific flag for the current use case and add the generic thing only later when we have thought a bit more about it. Kevin