sorry, i forgot to cc qemu-bl...@nongnu.org <mailto:qemu-bl...@nongnu.org>.
zhangzhiming zhangzhimin...@meituan.com > On May 7, 2016, at 10:47 AM, zhangzhiming <zhangzhimin...@meituan.com> wrote: > > thank you for your reply, and i am glad to join to the development of qemu. > i will try my best to finish this new function. > > have a good day! > > zhangzhiming > zhangzhimin...@meituan.com > > > >> On May 3, 2016, at 4:44 PM, Kevin Wolf <kw...@redhat.com> wrote: >> >> [ Cc: qemu-block ] >> >> Am 29.04.2016 um 10:59 hat zhangzm geschrieben: >>> hi, i want to implement the function of qcow2 resize which has >>> snapshots. >>> >>> each snapshot of qcow2 will have a separate total size, and when apply >>> a snapshot, the image can be shrunk, and the total size of image will >>> change after apply to a snapshot with different size. >>> >>> now, there is a disk_size value in struct QcowSnapshot, i only need to >>> change the size of current active image layer when apply a snapshot >>> with different size, and the io request will be limit in the range of >>> active layer. >> >> Yes, I think today the qcow2 format provides everything that is needed >> to implement this. You need to make sure that we have a v3 image so that >> the virtual disk size is actually stored in the snapshot (this field did >> not exist in v2 images yet). >> >> What you need to consider is that loading a snapshot becomes similar to >> resizing an image then and you need to do the same things for it. For >> example, we need to figure out what to do with associated dirty bitmaps >> (adapt them to the new size like in bdrv_truncate()?), call resize >> callbacks so that the guest devices actually see the changes size and >> possibly also consider the BLOCK_OP_TYPE_RESIZE blockers to prevent a >> size change while the image is in use. >> >>> and i want my code merged into the master of qemu. >> >> The wiki has a few tips on how to submit patches for qemu: >> http://wiki.qemu.org/Contribute/SubmitAPatch >> >> For a patch (or patch series) like this, you will want to CC at least >> qemu-block and qemu-devel, plus possibly a few individual people. >> >> Kevin >> > >