[Openais] Corosync Patch: Fix the default for COROSYNC_RUN_DIR

Fabio M. Di Nitto fdinitto at redhat.com
Mon Apr 12 08:30:55 PDT 2010


On 4/12/2010 5:17 PM, Steven Dake wrote:
> On Mon, 2010-04-12 at 09:15 +0200, Andrew Beekhof wrote:
>> On Mon, Apr 12, 2010 at 12:46 AM, Steven Dake <sdake at redhat.com> wrote:
>>> On Sun, 2010-04-11 at 10:30 +0200, Andrew Beekhof wrote:
>>>> On Sun, Apr 11, 2010 at 1:59 AM, Steven Dake <sdake at redhat.com> wrote:
>>>>> On Sat, 2010-04-10 at 13:35 +0200, Andrew Beekhof wrote:
>>>>>> On Sat, Apr 10, 2010 at 6:18 AM, Fabio M. Di Nitto <fdinitto at redhat.com> wrote:
>>>>>>> On 4/9/2010 8:17 PM, Steven Dake wrote:
>>>>>>>> On Fri, 2010-04-09 at 15:05 +0200, Andrew Beekhof wrote:
>>>>>>>>> This looks like a copy/paste error to me...
>>>>>>>>>
>>>>>>>>> The "RUN" in COROSYNC_RUN_DIR would seem to imply /var/run
>>>>>>>>> Also /var/lib is persistent and doesn't need to be created at startup.
>>>>>>>>> On the other-hand, LSB states that the contents of /var/run is blow
>>>>>>>>> away at boot time.
>>>>>>>>>
>>>>>>>>> So I'm reasonably sure the following patch is correct.
>>>>>>>>> Please ACK.
>>>>>>>>
>>>>>>>> In general "rundir" should probably be renamed to "libdir" since the
>>>>>>>> idea is that data stored there is persistent.
>>>>>>>>
>>>>>>>> Totem requires persistence between node boots of data stored with the
>>>>>>>> rundir path.
>>>>>>>
>>>>>>> /var/lib/corosync should be created at "make install" time and it愀
>>>>>>> guaranteed to be there by packaging and after each reboot.
>>>>>>>
>>>>>>> /var/run/corosync is more complicated. As Andrew already mentioned LSB,
>>>>>>> we need to make sure that it愀 created at startup time. Most daemons can
>>>>>>> do that in the init script and be done with it. Corosync doesn愒 have
>>>>>>> that luxury because it can be invoked in several different ways (cman
>>>>>>> for example), therefor it needs to do the dir creation/check within the
>>>>>>> code as the init script is not always used.
>>>>>>>
>>>>>>> This is the problem we need to address basically.
>>>>>>
>>>>>> And what the patch does :-)
>>>>>>
>>>>>> There is no need, at runtime, to create /var/lib/corosync.
>>>>>> Particularly if its required to be persistent.
>>>>>> /var/run/corosync is a different story as Fabbio reiterated above.
>>>>>>
>>>>>> So given all that, the original patch makes the most sense.
>>>>>
>>>>> Oh missed the patch sorry.
>>>>>
>>>>> I did review it just now.  Hate to be a stickler to details, but the
>>>>> rundir environment + variable names should be something like lib instead
>>>>> (what is this called?).
>>>>
>>>> Oh I see what you mean.
>>>> rundir is used elsewhere in totemsrp.c
>>>>
>>>
>>> The issue is COROSYNC_RUN_DIR is used in ipc
>>
>> Is it though?
>> I trawled the code last night and all I could find was:
>>   /var/run/some_ipc_file
>> not
>>   /var/run/corosync/some_ipc_file
>>
>> So now I'm confused, do we actually need a /var/run/corosync directory
>> to ever be created?
>>
> 
> No we shouldn't need /var/run/corosync at all.
> 

> ipc uses LOCALSTATEDIR /run for shared memory files
> ipc uses SOCKETDIR (/var/run)  for socket files on systems which don't
> support abstract sockets

Maybe those are best in /var/run/corosync tho. /var/run tends to have
enough clutter on its own.

Fabio


More information about the Openais mailing list