From: Fabio M. Di Nitto <fdinitto@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH] config: drastically improve cman RRP configuration handling
Date: Thu, 01 Dec 2011 09:43:57 +0100 [thread overview]
Message-ID: <4ED73E4D.60104@redhat.com> (raw)
In-Reply-To: <4ED731E4.2030303@redhat.com>
On 12/1/2011 8:51 AM, Jan Friesse wrote:
> Patch looks good with one question.
>
> Fabio M. Di Nitto wrote:
>> From: "Fabio M. Di Nitto" <fdinitto@redhat.com>
>>
>> - don't allow configuration of more than 2 rings
>> - allow overrided of alternate mcast address and port via
>> envars
>> - when using broadcast, set different ports on second ring.
>> this also required a substantial change in transport handling
>> ...
>> + if (!strcmp(altmcast_name, mcast_name) &&
>> + ((altportnum == portnum) || (altportnum == portnum - 1) || (portnum == altportnum - 1))) {
>> + sprintf(error_reason, "Alternate communication channel (mcast: %s ports: %d,%d) cannot use\n"
>> + "same address and ports of primary channel (mcast: %s ports: %d,%d)",
>> + altmcast_name, altportnum, altportnum - 1,
>> + mcast_name, portnum, portnum - 1);
>
> (altportnum == portnum - 1) || (portnum == altportnum - 1)) ->
> (altportnum == portnum - 1) || (altportnum == portnum + 1)), but
> corosync uses only port and port -1, so second condition seems to be
> useless (on the other hand, it doesn't hurt anything).
You have a total of 4 ports to check and that can be resolved with 3 tests.
Example:
ring0 port0 portnum
ring0 port1 portnum - 1
ring1 port0 altportnum
ring1 port1 altportnum - 1
if r0p0 == r1p0 (altportnum == portnum)
(this also catches r0p1 == r1p1 so no need to repeat the test)
if r0p1 == r1p0 (altportnum == portnum - 1)
if r0p0 == r1p1 (portnum == altportnum - 1)
So effectively with 3 tests you catch all conditions, unless of course I
made a mistake in the coding or in the thinking that is entirely possible :)
Thanks for the review!
Fabio
prev parent reply other threads:[~2011-12-01 8:43 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-30 12:51 [Cluster-devel] [PATCH] config: drastically improve cman RRP configuration handling Fabio M. Di Nitto
2011-12-01 7:51 ` Jan Friesse
2011-12-01 8:43 ` Fabio M. Di Nitto [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4ED73E4D.60104@redhat.com \
--to=fdinitto@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).