From: Fam Zheng <famz@redhat.com>
To: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Cc: Kevin Wolf <kwolf@redhat.com>, Jeff Cody <jcody@redhat.com>,
jsnow@redhat.com, qemu-devel@nongnu.org, qemu-block@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2 08/13] block: Support meta dirty bitmap
Date: Tue, 26 Jan 2016 16:23:59 +0800 [thread overview]
Message-ID: <20160126082359.GK23224@ad.usersys.redhat.com> (raw)
In-Reply-To: <56A72520.8040309@virtuozzo.com>
On Tue, 01/26 10:49, Vladimir Sementsov-Ogievskiy wrote:
> On 26.01.2016 09:25, Fam Zheng wrote:
> >On Fri, 01/22 15:05, Vladimir Sementsov-Ogievskiy wrote:
> >>>In my migration series I need iterators, get granularity, and
> >>>something like hbitmap_count for meta bitmaps. You can add them
> >>>here if you want, or I can add them in my series.
> >Okay, I can add that.
> >
> >I have one more question on the interface: what dirty bitmaps are going to be
> >migrated? At this moment there are dirty bitmaps created by block jobs
> >(drive-mirror), and in-memory dirty bitmaps created for incremental backup;
> >later there will be persistent dirty bitmaps owned by block drivers (extended
> >version of qcow2, and in QBM driver I'm working on). Which of them are subject
> >of migration in your series?
> >
> >I'm asking because I want to know whether we need to implement multiple meta
> >bitmaps on one block dirty bitmap.
> >
> >Fam
> Only named bitmaps are migrated. For now, only qmp-created bitmaps
> are named. So, it can be in-memory dirty bitmaps or, in future,
> persistent dirty bitmaps.
>
> Why multiple meta bitmaps?
The complication is from combining persistence and migration of a dirty bitmap.
To begin with, persistence drivers (qcow2 or QBM) would need meta dirty bitmaps
to avoid writing unchanged dirty bit ranges to disk, just like in migration.
This means if the persisted named dirty bitmap is being migrated, both the
block driver and migration code will then need their own meta dirty bitmaps,
that is where the question rose.
One step back, we haven't sorted out "migrating persistent dirty bitmap" at all
(see below). So it's probably okay to disallow that as the first step.
P.S. For discussion, I think we ultimately want users to be able to continue
their incremental backup even across the migration point. If they're using
shared storage, I think it is possible even without dirty bitmap migration, by
flushing the dirty bitmap at src side then loading it at dest side. Otherwise
it is trickier as we will have to migrate the persisted dirty bitmap - the dest
side must use a capable format, and we need to check this capability when
migration starts. By that time, the meta dirty bitmap interface can be
extended to allow at least two meta bitmaps on the same dirty bitmap.
Fam
next prev parent reply other threads:[~2016-01-26 8:24 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-20 6:11 [Qemu-devel] [PATCH v2 00/13] Dirty bitmap changes for migration/persistence work Fam Zheng
2016-01-20 6:11 ` [Qemu-devel] [PATCH v2 01/13] backup: Use Bitmap to replace "s->bitmap" Fam Zheng
2016-01-20 6:11 ` [Qemu-devel] [PATCH v2 02/13] typedefs: Add BdrvDirtyBitmap Fam Zheng
2016-01-20 16:56 ` Eric Blake
2016-01-21 3:05 ` Fam Zheng
2016-01-25 20:37 ` John Snow
2016-01-20 6:11 ` [Qemu-devel] [PATCH v2 03/13] block: Move block dirty bitmap code to separate files Fam Zheng
2016-01-22 9:13 ` Vladimir Sementsov-Ogievskiy
2016-01-20 6:11 ` [Qemu-devel] [PATCH v2 04/13] block: Remove unused typedef of BlockDriverDirtyHandler Fam Zheng
2016-01-20 6:11 ` [Qemu-devel] [PATCH v2 05/13] block: Hide HBitmap in block dirty bitmap interface Fam Zheng
2016-01-26 16:02 ` Vladimir Sementsov-Ogievskiy
2016-02-27 8:30 ` Fam Zheng
2016-01-20 6:11 ` [Qemu-devel] [PATCH v2 06/13] HBitmap: Introduce "meta" bitmap to track bit changes Fam Zheng
2016-01-25 22:02 ` John Snow
2016-01-20 6:11 ` [Qemu-devel] [PATCH v2 07/13] tests: Add test code for meta bitmap Fam Zheng
2016-01-20 6:11 ` [Qemu-devel] [PATCH v2 08/13] block: Support meta dirty bitmap Fam Zheng
2016-01-22 11:34 ` Vladimir Sementsov-Ogievskiy
2016-01-26 4:31 ` Fam Zheng
2016-01-22 11:58 ` Vladimir Sementsov-Ogievskiy
2016-01-22 12:05 ` Vladimir Sementsov-Ogievskiy
2016-01-26 6:25 ` Fam Zheng
2016-01-26 7:49 ` Vladimir Sementsov-Ogievskiy
2016-01-26 8:23 ` Fam Zheng [this message]
2016-01-25 22:16 ` John Snow
2016-01-20 6:11 ` [Qemu-devel] [PATCH v2 09/13] block: Add two dirty bitmap getters Fam Zheng
2016-01-22 11:45 ` Vladimir Sementsov-Ogievskiy
2016-01-26 4:19 ` Fam Zheng
2016-01-20 6:11 ` [Qemu-devel] [PATCH v2 10/13] block: Assert that bdrv_release_dirty_bitmap succeeded Fam Zheng
2016-01-20 6:11 ` [Qemu-devel] [PATCH v2 11/13] hbitmap: serialization Fam Zheng
2016-01-26 17:01 ` John Snow
2016-02-27 8:55 ` Fam Zheng
2016-01-20 6:11 ` [Qemu-devel] [PATCH v2 12/13] block: BdrvDirtyBitmap serialization interface Fam Zheng
2016-01-26 17:07 ` John Snow
2016-01-20 6:11 ` [Qemu-devel] [PATCH v2 13/13] tests: Add test code for hbitmap serialization Fam Zheng
2016-01-26 17:10 ` John Snow
2016-01-20 16:13 ` [Qemu-devel] [PATCH v2 00/13] Dirty bitmap changes for migration/persistence work Vladimir Sementsov-Ogievskiy
2016-01-22 12:07 ` Vladimir Sementsov-Ogievskiy
2016-01-21 10:41 ` Vladimir Sementsov-Ogievskiy
2016-01-21 13:03 ` Fam Zheng
2016-01-26 7:26 ` [Qemu-devel] [PATCH v2 14/13] block: More operations for meta dirty bitmap Fam Zheng
2016-01-27 14:57 ` Vladimir Sementsov-Ogievskiy
2016-02-27 8:35 ` Fam Zheng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160126082359.GK23224@ad.usersys.redhat.com \
--to=famz@redhat.com \
--cc=jcody@redhat.com \
--cc=jsnow@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=vsementsov@virtuozzo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).