From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35495) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YpfCO-0005S8-PX for qemu-devel@nongnu.org; Tue, 05 May 2015 11:56:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YpfCJ-0001y7-NK for qemu-devel@nongnu.org; Tue, 05 May 2015 11:55:56 -0400 Message-ID: <5548E805.7090304@redhat.com> Date: Tue, 05 May 2015 11:55:49 -0400 From: John Snow MIME-Version: 1.0 References: <5541605C.2090904@redhat.com> <20150505102546.GB3149@stefanha-thinkpad.redhat.com> In-Reply-To: <20150505102546.GB3149@stefanha-thinkpad.redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Qemu-block] [RFC] Differential Backups List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Qemu-block , Stefan Hajnoczi Cc: Markus Armbruster , qemu-devel On 05/05/2015 06:25 AM, Stefan Hajnoczi wrote: > On Wed, Apr 29, 2015 at 06:51:08PM -0400, John Snow wrote: >> This is a feature that should be very easy to add on top of the existing >> incremental feature, since it's just a difference in how the bitmap is >> treated: >> >> Incremental >> - Links to the last incremental (managed by libvirt) >> - Clears the bitmap after creation >> >> Differential: >> - Links to the last full backup always (managed by libvirt) >> - Does not clear the bitmap after creation >> >> No biggie. > > Differential backups can be done using incremental backup functionality > in QEMU: > > The client application points QEMU to the same target repeatedly instead > of keeping separate incremental backups. > > Stefan > Oh, so you're saying: [anchor]<--[diff1] And then when making a new incremental, we re-use diff1 as a target and overwrite it so that it becomes: [anchor]<--[diff2] In effect giving us a differential. OK, so it's possible, but we still lose out on some flexibility that a slightly different mode would provide us, like the ability to keep multiple differentials if desired. (Well, I suppose we *can* create those by manually copying differentials after we create them, but that seems hackier than necessary.) Still, it would be such a paltry few lines of code and introduce no real complexity to the subsystem, and it might make libvirt's time a little easier for managing such things. --js