[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bitmap migration bug with -drive while block mirror runs
From: |
Kevin Wolf |
Subject: |
Re: bitmap migration bug with -drive while block mirror runs |
Date: |
Tue, 1 Oct 2019 18:16:10 +0200 |
User-agent: |
Mutt/1.12.1 (2019-06-15) |
Am 01.10.2019 um 17:57 hat Vladimir Sementsov-Ogievskiy geschrieben:
> 01.10.2019 17:10, John Snow wrote:
> >
> >
> > On 10/1/19 10:00 AM, Vladimir Sementsov-Ogievskiy wrote:
> >>> Otherwise: I have a lot of cloudy ideas on how to solve this, but
> >>> ultimately what we want is to be able to find the "addressable" name for
> >>> the node the bitmap is attached to, which would be the name of the first
> >>> ancestor node that isn't a filter. (OR, the name of the block-backend
> >>> above that node.)
> >> Not the name of ancestor node, it will break mapping: it must be name of
> >> the
> >> node itself or name of parent (may be through several filters)
> >> block-backend
> >>
> >
> > Ah, you are right of course -- because block-backends are the only
> > "nodes" for which we actually descend the graph and add the bitmap to
> > its child.
> >
> > So the real back-resolution mechanism is:
> >
> > - Find the first non-filter ancestor, A
> > - if A is not a block-backend, we must use our node-local name.
> > - if A's name is empty, we must use our node-local name.
> > - If the name we have chosen is not id_wellformed, we have no
> > migration-stable addressable name for this bitmap and the migration must
> > fail!
> >
> >
> > For resolving bitmap addresses via QMP (node, name) pairs; the
> > resolution method would be this:
> >
> > - if the node-name N is a block-backend, descend the tree until we find
> > the first non-filter node V.
> > - if the node-name N is a BlockDriverState, use this node directly.
> >
>
> Looks good for me.
>
> I also think if on destination we have both block-backend with name N and
> block-node with name N and the latter is not (filtered) child of the former,
> we should fail migration of at least that bitmap. (Hope, nobody reuse
> block-backend names as node-names in practice.. (should we restrict it
> explicitly ?))
You can't have a node and a BlockBackend of the same name, they share a
single namespace. If you try to do so, you get an error.
Kevin
- Re: bitmap migration bug with -drive while block mirror runs, (continued)
- Re: bitmap migration bug with -drive while block mirror runs, Vladimir Sementsov-Ogievskiy, 2019/10/02
- Re: bitmap migration bug with -drive while block mirror runs, John Snow, 2019/10/02
- Re: bitmap migration bug with -drive while block mirror runs, Vladimir Sementsov-Ogievskiy, 2019/10/03
- Re: bitmap migration bug with -drive while block mirror runs, John Snow, 2019/10/03
- Re: bitmap migration bug with -drive while block mirror runs, Peter Krempa, 2019/10/04
- Re: bitmap migration bug with -drive while block mirror runs, Vladimir Sementsov-Ogievskiy, 2019/10/04
- Re: bitmap migration bug with -drive while block mirror runs, John Snow, 2019/10/05
- Re: bitmap migration bug with -drive while block mirror runs, Vladimir Sementsov-Ogievskiy, 2019/10/04
- Re: bitmap migration bug with -drive while block mirror runs, Eric Blake, 2019/10/04
- Re: bitmap migration bug with -drive while block mirror runs, John Snow, 2019/10/05
- Re: bitmap migration bug with -drive while block mirror runs,
Kevin Wolf <=
- Re: bitmap migration bug with -drive while block mirror runs, Vladimir Sementsov-Ogievskiy, 2019/10/01
Re: bitmap migration bug with -drive while block mirror runs, Max Reitz, 2019/10/01
- Re: bitmap migration bug with -drive while block mirror runs, Vladimir Sementsov-Ogievskiy, 2019/10/01
- Re: bitmap migration bug with -drive while block mirror runs, Max Reitz, 2019/10/01
- Re: bitmap migration bug with -drive while block mirror runs, Vladimir Sementsov-Ogievskiy, 2019/10/01
- Re: bitmap migration bug with -drive while block mirror runs, Max Reitz, 2019/10/01
- Re: bitmap migration bug with -drive while block mirror runs, Peter Krempa, 2019/10/02
Re: bitmap migration bug with -drive while block mirror runs, Kevin Wolf, 2019/10/01
Re: bitmap migration bug with -drive while block mirror runs, Max Reitz, 2019/10/01
Re: bitmap migration bug with -drive while block mirror runs, Kevin Wolf, 2019/10/01