Am 17.01.2012 14:50, schrieb Marcelo Tosatti: > On Tue, Jan 17, 2012 at 02:27:04PM +0100, Kevin Wolf wrote: >> Am 13.01.2012 14:14, schrieb Stefan Hajnoczi: >>> From: Marcelo Tosatti <mtosa...@redhat.com> >>> >>> Add support for streaming data from an intermediate section of the >>> image chain (see patch and documentation for details). >>> >>> Signed-off-by: Marcelo Tosatti <mtosa...@redhat.com> >>> Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> >> >> I'm afraid that in the review for the previous version I couldn't see >> the wood for the trees... This does limit the COR requests issued by >> image streaming, but not those issued by the guest. Am I missing >> something? This is not what we want, is it? > > What you mean "limit the COR requests"?
base -> sn1 -> sn2 You only want to copy the content of sn1 into sn2 and keep base. The streaming coroutine is doing the right thing because it checks is_allocated_base. However, if it is the guest that reads some data from base, COR copies it into sn2 even though it's in the common base file. Maybe streaming shouldn't enable normal COR on images, but instead of calling bdrv_co_read it could directly call bdrv_co_copy_on_readv(). Kevin