On Wed, Dec 14, 2011 at 1:42 AM, Yibin Shen <zit...@taobao.com> wrote: > On Tue, Dec 13, 2011 at 11:18 PM, Stefan Hajnoczi <stefa...@gmail.com> wrote: >> On Tue, Dec 13, 2011 at 2:12 PM, Yibin Shen <zit...@taobao.com> wrote: >>> all these patches looks good to me except one thing, >>> when I run a "qemu-img commit" command, >>> seems entire image(from start to end sector) will be write to the backing >>> file, >>> I think what we really need is to commit only dirty sectors. >>> also maybe we can use a writeback mechanism alternaively. >> >> This series does not affect the behavior of "qemu-img commit". >> >> Are you suggesting a new feature? Please explain a little more. > yes , I suggest a new feature, > > in some situation, we need to commit data in qed image to backing file. > in old days ,people without copy-on-read, they only have copy-on-write, > so 'qemu-img commit' commit all exsits data to backing file is rational. > > but with copy-on-read or image streaming, > which means most data in the image may be identical with backing file, > so commit entire image is a redundant operation. > > can we record the dirty bitmap for data differ from backing file, > then in a commit operation, we only need to handle minimum data.
This operation is needed as a dual to the blockdev-snapshot-sync QMP command. It merges changes back into the base image while the VM is running (it's basically an online version of qemu-img commit and only copies changed data). I agree that it's a useful operation and perhaps someone will work on it in the future. Stefan