From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:57825) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TbpPU-0002Rv-7Y for qemu-devel@nongnu.org; Fri, 23 Nov 2012 04:18:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TbpPQ-0003vc-9X for qemu-devel@nongnu.org; Fri, 23 Nov 2012 04:18:56 -0500 Received: from mail-ia0-f173.google.com ([209.85.210.173]:50657) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TbpPQ-0003vY-2w for qemu-devel@nongnu.org; Fri, 23 Nov 2012 04:18:52 -0500 Received: by mail-ia0-f173.google.com with SMTP id w21so4874108iac.4 for ; Fri, 23 Nov 2012 01:18:51 -0800 (PST) Sender: Paolo Bonzini Message-ID: <50AF3F76.9030909@redhat.com> Date: Fri, 23 Nov 2012 10:18:46 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <1353488464-82756-1-git-send-email-dietmar@proxmox.com> <50ACB184.5080204@redhat.com> <24E144B8C0207547AD09C467A8259F755782D8A1@lisa.maurer-it.com> <50ACCAEC.2030001@redhat.com> <50ACD5BC.2080006@redhat.com> <24E144B8C0207547AD09C467A8259F755782F7C2@lisa.maurer-it.com> In-Reply-To: <24E144B8C0207547AD09C467A8259F755782F7C2@lisa.maurer-it.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 1/5] RFC: Efficient VM backup for qemu (v1) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Dietmar Maurer Cc: Kevin Wolf , "qemu-devel@nongnu.org" Il 23/11/2012 08:42, Dietmar Maurer ha scritto: >> > My plan was to have something like bs->job->job_type->{before,after}_write. >> > >> > int coroutine_fn (*before_write)(BlockDriverState *bs, >> > int64_t sector_num, int nb_sectors, QEMUIOVector *qiov, >> > void **cookie); >> > int coroutine_fn (*after_write)(BlockDriverState *bs, >> > int64_t sector_num, int nb_sectors, QEMUIOVector *qiov, >> > void *cookie); >> > >> > >> > The before_write could optionally return a "cookie" that is passed back to >> > the after_write callback. > I don't really understand why a filter is related to the job? This is sometimes useful, > but not a generic filter infrastructure (maybe someone want to use filters without a job). See the part you snipped: Actually this was plan B, as a poor-man implementation of the filter infrastructure. Plan A was that the block filters would materialize suddenly in someone's git tree. Paolo