From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45920) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yt5aW-00065x-5C for qemu-devel@nongnu.org; Thu, 14 May 2015 22:43:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yt5aS-0005Si-Sl for qemu-devel@nongnu.org; Thu, 14 May 2015 22:43:00 -0400 Date: Fri, 15 May 2015 10:42:14 +0800 From: Fam Zheng Message-ID: <20150515024214.GH28144@ad.nay.redhat.com> References: <05a74ddae05551492a4ac67867d1f6cc0c088999.1431523498.git.berto@igalia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <05a74ddae05551492a4ac67867d1f6cc0c088999.1431523498.git.berto@igalia.com> Subject: Re: [Qemu-devel] [PATCH 06/11] docs: Document how to stream to an intermediate layer List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alberto Garcia Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org On Wed, 05/13 16:27, Alberto Garcia wrote: > Signed-off-by: Alberto Garcia > Reviewed-by: Max Reitz > Reviewed-by: Eric Blake Reviewed-by: Fam Zheng > --- > docs/live-block-ops.txt | 31 ++++++++++++++++++++----------- > 1 file changed, 20 insertions(+), 11 deletions(-) > > diff --git a/docs/live-block-ops.txt b/docs/live-block-ops.txt > index a257087..a05d869 100644 > --- a/docs/live-block-ops.txt > +++ b/docs/live-block-ops.txt > @@ -10,9 +10,9 @@ Snapshot live merge > Given a snapshot chain, described in this document in the following > format: > > -[A] -> [B] -> [C] -> [D] > +[A] <- [B] <- [C] <- [D] <- [E] > > -Where the rightmost object ([D] in the example) described is the current > +Where the rightmost object ([E] in the example) described is the current > image which the guest OS has write access to. To the left of it is its base > image, and so on accordingly until the leftmost image, which has no > base. > @@ -21,11 +21,14 @@ The snapshot live merge operation transforms such a chain into a > smaller one with fewer elements, such as this transformation relative > to the first example: > > -[A] -> [D] > +[A] <- [E] > > -Currently only forward merge with target being the active image is > -supported, that is, data copy is performed in the right direction with > -destination being the rightmost image. > +Data is copied in the right direction with destination being the > +rightmost image, but any other intermediate image can be specified > +instead. In this example data is copied from [C] into [D], so [D] can > +be backed by [B]: > + > +[A] <- [B] <- [D] <- [E] > > The operation is implemented in QEMU through image streaming facilities. > > @@ -35,14 +38,20 @@ streaming operation completes it raises a QMP event. 'block_stream' > copies data from the backing file(s) into the active image. When finished, > it adjusts the backing file pointer. > > -The 'base' parameter specifies an image which data need not be streamed from. > -This image will be used as the backing file for the active image when the > -operation is finished. > +The 'base' parameter specifies an image which data need not be > +streamed from. This image will be used as the backing file for the > +destination image when the operation is finished. > + > +In the first example above, the command would be: > + > +(qemu) block_stream virtio0 file-A.img > > -In the example above, the command would be: > +In order to specify a destination image different from the active > +(rightmost) one we can use its (previously set) node name instead. > > -(qemu) block_stream virtio0 A > +In the second example above, the command would be: > > +(qemu) block_stream node-D file-B.img > > Live block copy > =============== > -- > 2.1.4 > >