On 31.03.2016 13:42, Alberto Garcia wrote: > On Wed 30 Mar 2016 05:07:15 PM CEST, Max Reitz wrote: >>> I also have another (not directly related) question: why not simply >>> use the node name when removing children? I understood that the idea >>> was that it's possible to have the same node attached twice to the >>> same Quorum, but can you actually do that? And what's the use case? >> >> What I like about using the child role name is that it automatically >> prevents you from specifying a node that is not a child of the given >> parent. > > Right, but checking if a node is not a child and returning an error is > very simple. And it doesn't require the user to keep track of the node > name *and* the child role name.
Yes. But I think that you need to know parent and child anyway if you want to modify (delete) an edge in the graph. Also, it may be possible to have multiple parents per node. Actually, it is already possible because the BB-BDS relationship is modeled as a parent-child relationship. Thus, I'm not sure whether it would be sufficient to specify a single node if you want to delete a single edge. > Unless I'm forgetting something this would be the first time we expose > the child role name in the API, that's why I'm wondering if it's > something worth doing. Well, the roles are kind of exposed already. It's exactly what you specify in -drive or blockdev-add. >> Which makes me notice that it might be a good idea to require the user >> to specify the child's role when adding a new child. In this version >> of this series (where only quorum is supported), the children are just >> inserted in numerical order (first free slot is taken first), but >> maybe the user wants to insert them in a different order. > > For the Quorum case it totally makes sense to let the user choose the > position of the new child. > > But for creating a Quorum array in the first place we don't require > that, the order is the one that the user provides, and the user does not > need to know about the child role names at that point. Depends. If you create an empty quorum BDS and then add the children using the QAPI command introduced in this series, you are right. But if you add children along with creating the quorum BDS (be it via -drive or via blockdev-add), one has to specify the child role names. Max
signature.asc
Description: OpenPGP digital signature