qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [Qemu-devel] Minutes from the "Stuttgart block Gipfele"


From: Fam Zheng
Subject: Re: [Qemu-block] [Qemu-devel] Minutes from the "Stuttgart block Gipfele"
Date: Mon, 4 Jan 2016 15:28:36 +0800
User-agent: Mutt/1.5.21 (2010-09-15)

On Mon, 01/04 13:16, Stefan Hajnoczi wrote:
> On Wed, Dec 23, 2015 at 06:15:20PM +0800, Fam Zheng wrote:
> > On Fri, 12/18 14:15, Markus Armbruster wrote:
> > In that theory, all other block job types, mirror/stream/commit, fit into a
> > "pull" model, which follows a specified dirty bitmap and copies data from a
> > specified src BDS. In this pull model,
> > 
> > mirror (device=d0 target=d1) becomes a pull fileter:
> > 
> >         BB[d0]            BB[d1]
> >            |                 |
> >         throttle        [pull,src=d0]
> >            |                 |
> >        detect-zero       detect-zero
> >            |                 |
> >       copy-on-read      copy-on-read
> >            |                 |
> >           BDS               BDS
> > 
> > Note: the pull reuses most of the block/mirror.c code except the
> > s->dirty_bitmap will be initialized depending on the block job type. In the
> > case of mirror, it is trivially the same as now.
> 
> I don't understand the pull filter.  Is there also a mirror block job
> coroutine?
> 
> Does anything perform I/O to BB[d1]?

Yes, the filter will have a mirror block job coroutine, and it writes to the
BDS behind BB[d1]. This is conceptually different from the "block jobs have
their own BBs" design.

> 
> If nothing is writing to/reading from BB[d1], then I don't understand
> the purpose of the pull filter.
> 
> Stefan





reply via email to

[Prev in Thread] Current Thread [Next in Thread]