From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40165) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UcXox-0008N5-3A for qemu-devel@nongnu.org; Wed, 15 May 2013 05:16:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UcXos-0005TX-CL for qemu-devel@nongnu.org; Wed, 15 May 2013 05:16:27 -0400 Received: from mx4-phx2.redhat.com ([209.132.183.25]:56889) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UcXos-0005TR-3E for qemu-devel@nongnu.org; Wed, 15 May 2013 05:16:22 -0400 Date: Wed, 15 May 2013 05:16:15 -0400 (EDT) From: Paolo Bonzini Message-ID: <1407889574.1806273.1368609375596.JavaMail.root@redhat.com> In-Reply-To: <20130515085321.GB2858@dhcp-200-207.str.redhat.com> References: <20130514085046.GA2556@dhcp-200-207.str.redhat.com> <51920C30.4050407@redhat.com> <51926A37.3060902@redhat.com> <20130515075904.GA2858@dhcp-200-207.str.redhat.com> <5193465C.1040006@redhat.com> <20130515085321.GB2858@dhcp-200-207.str.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC] block-trace Low Level Command Supporting Disk Introspection List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: Wolfgang Richter , qemu-devel , stefanha > > We don't need a way to pass data from before to after hooks, a simple > > scan of a linked list will do. > > So in this case the linked list is the way. Point taken. :) > > > Does the "if there was no room" part mean that the mirror is active only > > > sometimes? > > > > Yes, otherwise the guest can allocate arbitrary amounts of memory in the > > host just by starting a few very large I/O operations. > > I think I would rather throttle I/O in this case, i.e. requests wait > until they can get the space. At least for a synchronous mirror we > have to do something like this. Yes, but this is still asynchronous. The active part is just an optimization to avoid write amplification (where small random writes require I/O of an entire block as big as the bitmap granularity). > > > And why even bother with a dirty bitmap for an active mirror? The > > > background job that sequentially processes the whole image only needs a > > > counter, no bitmap. > > > > That's not enough for the case when the host crashes and you have to > > restart the mirroring or complete it offline. > > You're thinking of a persistent bitmap here? Makes sense then, I didn't > think about that. Yes. Paolo