Am 28.09.2015 um 15:09 hat Alberto Garcia geschrieben:
> On Thu 17 Sep 2015 03:48:16 PM CEST, Kevin Wolf wrote:
> 
> > @@ -1090,6 +1090,7 @@ static BdrvChild *bdrv_attach_child(BlockDriverState 
> > *parent_bs,
> >      };
> >  
> >      QLIST_INSERT_HEAD(&parent_bs->children, child, next);
> > +    QLIST_INSERT_HEAD(&child_bs->parents, child, next_parent);
> >  
> >      return child;
> >  }
> 
> Ok, I'm probably slow today, but what is this used for? :-? And why is
> it called 'parents'? The list doesn't contain pointers to the parents of
> child_bs, but to child_bs itself...
> 
> I would expect a BdrvChild *parent, with parent->bs = parent_bs.

It's the list of BdrvChild objects that point to the given
BlockDriverState. This is good enough for updating the pointers. If we
ever need the actual parent BDS, we can add a pointer to BdrvChild.

Kevin

Reply via email to