Re: [RFC] changing libquorum API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/13/2011 07:17 AM, Fabio M. Di Nitto wrote:
> Quoting:
> 
> https://github.com/corosync/corosync/commit/ebbba5b05b05a0943dce50be16282657a31c2e05
> 
> corosync internal theory of operation is that without a quorum provider
> the cluster is always quorate. This is fine for membership free clusters
> but it does pose a problem for applications that need membership and
> "real" quorum.
> 
> this change add quorum_type to quorum_initialize call to return QUORUM_FREE
> or QUORUM_SET. Applications can then make their own decisions to error out
> or continue operating.
> 
> The only other way to know if a quorum provider is enabled/configured is
> to poke at confdb/objdb, but adds an unnecessary burden to applications
> that really don't need to use an entire library for a boolean value.
> 
> I am clearly at RFC stage since variable/const names are up for
> discussion/improvement.
> 
> The other option to approach this issue is to use a 3 state is_quorate,
> but that can break applications (and corosync internal) in a more subtle
> way. By changing the API in such a simple way, old applications will
> fail to build (in one function only) and will get the info they need
> right away.
> 

Fabio,

Type concept looks ok, but don't want to change quorum_initialize unless
absolutely necessary.

Can you make a case for changing quorum_initialize directly rather then
adding a :

"quorum_type_get() which could be called directly after?  I realize it
is two calls, but then ABI remains backward compat.

Another option would be to add a qourum_type notification callback
(since this wouldn't break the ABI backwards compatibility) but this
would probably have to be coupled with qourum_type_get to be useful for
users.

Regards
-steve

> Fabio
> _______________________________________________
> discuss mailing list
> discuss@xxxxxxxxxxxx
> http://lists.corosync.org/mailman/listinfo/discuss

_______________________________________________
discuss mailing list
discuss@xxxxxxxxxxxx
http://lists.corosync.org/mailman/listinfo/discuss


[Index of Archives]     [Linux Clusters]     [Corosync Project]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Linux Kernel]     [Linux SCSI]     [X.Org]

  Powered by Linux