20.08.2018 19:35, Max Reitz wrote:
On 2018-08-20 17:13, Vladimir Sementsov-Ogievskiy wrote:
20.08.2018 16:44, Max Reitz wrote:
On 2018-08-20 12:20, Vladimir Sementsov-Ogievskiy wrote:
[...]

My goal is to get graphviz representation of block graph with all the
parents for debugging. And I'm absolutely ok to do it with x-debug-.
Then we shouldn't care about enum for role type now. So, it the patch ok
for you with x-debug- prefix?
Actually, no, because I'm not sure whether using points for the IDs is a
good idea.  That may defeat ASLR, and that would be a problem even with
x-debug-.
Good point, agree.

So I'd prefer using e.g. a hash map to map pointers to freshly generated
IDs (just incrementing integers).
(By the way, that would also improve the speed of checking whether a
certain node needs to be added to the @nodes list still.)

In any case, I'll take a further look at the patch later, but another
thing that I've just seen is that using the opaque pointers to identify
a parent is something that doesn't look like it's guaranteed to work.
Hm, isn't it a bug? Can you point to an example?
Ah, no, it's OK.  Well, kind of.  It's OK in the sense that it is unique
when set.  I didn't notice that you only use it for the non-node
parents, sorry.

hm, no, I use opaque for all. So, it can be zero? In what case? In this case, I cant get its parent?


Still, it probably would be better to just use the BdrvChild object, as
that should be unique as well, and it is obviously non-NULL.
(BdrvChild.opaque may be NULL, even though it isn't in practice.)

but BdrvChild corresponds to edge in a graph, not to the node. I need identificators for nodes..


Max



--
Best regards,
Vladimir


Reply via email to