From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33336) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTWqC-0006cj-1y for qemu-devel@nongnu.org; Wed, 10 Feb 2016 10:38:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aTWq8-0003vQ-OR for qemu-devel@nongnu.org; Wed, 10 Feb 2016 10:38:03 -0500 Received: from mx1.redhat.com ([209.132.183.28]:42404) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTWq8-0003vC-Ik for qemu-devel@nongnu.org; Wed, 10 Feb 2016 10:38:00 -0500 References: <1454151394-52320-1-git-send-email-vsementsov@virtuozzo.com> <1454151394-52320-3-git-send-email-vsementsov@virtuozzo.com> <20160210100825.GA7317@stefanha-x1.localdomain> <56BB41AE.8090609@virtuozzo.com> <56BB56C2.40409@redhat.com> <56BB58E7.7090307@virtuozzo.com> From: John Snow Message-ID: <56BB5956.4090602@redhat.com> Date: Wed, 10 Feb 2016 10:37:58 -0500 MIME-Version: 1.0 In-Reply-To: <56BB58E7.7090307@virtuozzo.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 2/6] qmp: add query-block-dirty-bitmap-ranges List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Denis V. Lunev" , Stefan Hajnoczi , Vladimir Sementsov-Ogievskiy Cc: kwolf@redhat.com, famz@redhat.com, qemu-devel@nongnu.org, armbru@redhat.com On 02/10/2016 10:36 AM, Denis V. Lunev wrote: > On 02/10/2016 06:26 PM, John Snow wrote: >> >> On 02/10/2016 08:57 AM, Denis V. Lunev wrote: >>> On 02/10/2016 01:08 PM, Stefan Hajnoczi wrote: >>>> On Sat, Jan 30, 2016 at 01:56:30PM +0300, Vladimir Sementsov-Ogievskiy >>>> wrote: >>>>> Add qmp command to query dirty bitmap contents. This is needed for >>>>> external backup. >>>>> >>>>> Signed-off-by: Vladimir Sementsov-Ogievskiy >>>>> --- >>>>> block/dirty-bitmap.c | 55 >>>>> +++++++++++++++++++++++++++++++++++++++ >>>>> blockdev.c | 62 >>>>> ++++++++++++++++++++++++++++++++++++++++++++ >>>>> include/block/dirty-bitmap.h | 7 +++++ >>>>> qapi/block-core.json | 54 >>>>> ++++++++++++++++++++++++++++++++++++++ >>>>> qmp-commands.hx | 33 +++++++++++++++++++++++ >>>>> 5 files changed, 211 insertions(+) >>>> This API produces large replies and/or requires many calls to fetch all >>>> bitmap data. The worst case is a 101010... bitmap. >>>> >>>> I consider the dirty bitmap to be data (vs control) and not something >>>> that should be sent over a control channel like the QMP monitor. >>>> >>>> How about writing the dirty bitmap to a file? The new bitmap file >>>> format that Fam is working on could be used. That way the dirty bitmap >>>> can be saved asynchronously without hogging the QMP monitor. >>> Reasonable point. >>> >>> May be it would be better to setup "special" NBD server inside >>> QEMU which will allow to directly "read" bitmap data. >>> >>> Any opinion? >>> >>> Den >> Or perhaps something like migration, where the client receiving the data >> opens a socket of some sort, and QEMU connects to that socket to send >> the data. > no. The point is that QEMU should be queried for data. > May be even via several sockets to provide it in > parallel. > > Den I don't follow. You'd use a QMP command to tell QEMU where to connect to send the data. You're still "querying" QEMU, it's just not acting as the server for the data channel.