qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
To: Eric Blake <eblake@redhat.com>, Peter Krempa <pkrempa@redhat.com>
Cc: fam@euphon.net, kwolf@redhat.com, qemu-block@nongnu.org,
	quintela@redhat.com, qemu-devel@nongnu.org, dgilbert@redhat.com,
	stefanha@redhat.com, den@openvz.org, mreitz@redhat.com
Subject: Re: [PATCH v2 0/5] fix migration with bitmaps and mirror
Date: Fri, 15 May 2020 14:15:22 +0300	[thread overview]
Message-ID: <acecd801-9486-6dea-d06c-19b7ce6d77b3@virtuozzo.com> (raw)
In-Reply-To: <738cbfd7-9ec8-7043-923a-0510929e73e2@virtuozzo.com>

15.05.2020 08:52, Vladimir Sementsov-Ogievskiy wrote:
> 14.05.2020 21:29, Eric Blake wrote:
>> reviving this thread...
>>
>> On 4/3/20 6:23 AM, Peter Krempa wrote:
>>> On Fri, Apr 03, 2020 at 14:02:47 +0300, Vladimir Sementsov-Ogievskiy wrote:
>>>> 19.12.2019 13:36, Peter Krempa wrote:
>>>>> On Thu, Dec 19, 2019 at 11:51:01 +0300, Vladimir Sementsov-Ogievskiy wrote:
>>>>>> Hi all!
>>>>>>
>>>>>> It's a continuation for
>>>>>> "bitmap migration bug with -drive while block mirror runs"
>>>>>> <315cff78-dcdb-a3ce-2742-da3cc9f0ca97@redhat.com>
>>>>>> https://lists.gnu.org/archive/html/qemu-devel/2019-09/msg07241.html
>>>>>>
>>>>>> The problem is that bitmaps migrated to node with same node-name or
>>>>>> blk-parent name. And currently only the latter actually work in libvirt.
>>>>>> And with mirror-top filter it doesn't work, because
>>>>>> bdrv_get_device_or_node_name don't go through filters.
>>>>>
>>>>> I want to point out that since libvirt-5.10 we use -blockdev to
>>>>> configure the backend of storage devices with qemu-4.2 and later. This
>>>>> means unfortunately that the BlockBackend of the drive does not have a
>>>>> name any more and thus the above will not work even if you make the
>>>>> lookup code to see through filters.
>>>>
>>>> Not that this series doesn't make things worse, as it loops through named
>>>> block backends when trying to use their name for migration. So with these
>>>> patches applied, qemu will just work in more possible scenarios.
>>>
>>> Okay, if that's so it's fair enough in this case.
>>>
>>> I'm just very firmly against baking in the assumption that
>>> node names mean the same thing accross migration, because that will
>>> create a precedent situation and more stuff may be baked in on top of
>>> this in the future. It seems that it has already happened though and
>>> it's wrong. And the worst part is that it's never mentioned that this
>>> might occur. But again, don't do that and preferrably remove the
>>> matching of node names for bitmaps altogether until we can control it
>>> arbitrarily.
>>>
>>> We've also seen this already before with the backend name of memory
>>> devices being baked in to the migration stream which creates an unwanted
>>> dependancy.
>>
>> Max is trying to tackle the node-name issue:
>> https://lists.gnu.org/archive/html/qemu-devel/2020-05/msg03358.html
>>
>> And trying to apply that patch after staging this series hits a conflict in mnigration/block-dirty-bitmap.c.  Which one should go in first?
>>
> 
> My patches are needed to fix migration for the pre-blockdev configuration with mirror-top filter.
> 
> We ofcrouse need them in Virtuozzo, but it's not hard to keep the in downstream-only.. And it will be not simple to use new command from Max in pre-blockdev libvirt configuration, with auto-generated node-names.
> 
> How much we care about pre-blockdev libvirt now in upstream Qemu?
> 
> If we don't care, than these series are only for downstreams, and we don't need to apply them upstream..
> 
> On the other hand, Max have to resend anyway, to handle old code, which uses device name instead of node-name. And if we don't want to drop now the code which can use device name (needed for old libvirt), why not to apply the series, which just make old code better?
> 
> ====
> 
> In other words: do we still support pre-blockdev libvirt (and any other pre-blockdev users)?
> 
> If we support, than, as I said somewhere, I need to resend these series as I have updated version in our downstream. And I think, I can rebase Max's patch by myself and send together with this all, if no objections.
> 

I'm going to resend the series today, let's look at it.

-- 
Best regards,
Vladimir


  reply	other threads:[~2020-05-15 11:16 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-19  8:51 [PATCH v2 0/5] fix migration with bitmaps and mirror Vladimir Sementsov-Ogievskiy
2019-12-19  8:51 ` [PATCH v2 1/5] block: Mark commit and mirror as filter drivers Vladimir Sementsov-Ogievskiy
2020-01-31 19:23   ` Eric Blake
2020-05-14 18:51     ` Eric Blake
2019-12-19  8:51 ` [PATCH v2 2/5] migretion/block-dirty-bitmap: refactor init_dirty_bitmap_migration Vladimir Sementsov-Ogievskiy
2020-01-31 19:28   ` Eric Blake
2019-12-19  8:51 ` [PATCH v2 3/5] block/dirty-bitmap: add bdrv_has_named_bitmaps helper Vladimir Sementsov-Ogievskiy
2020-05-14 18:30   ` Eric Blake
2019-12-19  8:51 ` [PATCH v2 4/5] migration/block-dirty-bitmap: fix bitmaps migration during mirror job Vladimir Sementsov-Ogievskiy
2020-05-14 18:52   ` Eric Blake
2019-12-19  8:51 ` [PATCH v2 5/5] iotests: 194: test also migration of dirty bitmap Vladimir Sementsov-Ogievskiy
2019-12-19 10:36 ` [PATCH v2 0/5] fix migration with bitmaps and mirror Peter Krempa
2019-12-19 11:39   ` Vladimir Sementsov-Ogievskiy
2020-04-03 11:02   ` Vladimir Sementsov-Ogievskiy
2020-04-03 11:23     ` Peter Krempa
2020-04-03 11:29       ` Vladimir Sementsov-Ogievskiy
2020-04-03 11:52         ` Vladimir Sementsov-Ogievskiy
2020-04-03 15:05           ` Dr. David Alan Gilbert
2020-04-03 15:34             ` Vladimir Sementsov-Ogievskiy
2020-05-14 18:29       ` Eric Blake
2020-05-15  5:52         ` Vladimir Sementsov-Ogievskiy
2020-05-15 11:15           ` Vladimir Sementsov-Ogievskiy [this message]
2020-05-15 17:51             ` Eric Blake
2020-05-15 19:49               ` Vladimir Sementsov-Ogievskiy
2020-01-20  9:04 ` Vladimir Sementsov-Ogievskiy

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=acecd801-9486-6dea-d06c-19b7ce6d77b3@virtuozzo.com \
    --to=vsementsov@virtuozzo.com \
    --cc=den@openvz.org \
    --cc=dgilbert@redhat.com \
    --cc=eblake@redhat.com \
    --cc=fam@euphon.net \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=pkrempa@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=stefanha@redhat.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).