On Mon, 2010-04-12 at 09:15 +0200, Andrew Beekhof wrote: > On Mon, Apr 12, 2010 at 12:46 AM, Steven Dake <sd...@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 <sd...@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 > >> >> <fdini...@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. logsys uses LOCALSTATEDIR /lib/corosync/fdata ipc uses LOCALSTATEDIR /run for shared memory files ipc uses SOCKETDIR (/var/run) for socket files on systems which don't support abstract sockets totemsrp uses LOCALSTATEDIR /lib/corosync/ for totem ring id and storing of core files (these files should be persistent and created by the packaging software). (LOCALSTATEDIR = /var in default configure state) These defaults look sanitary to me. Looking through the code, looks like everything uses /var/run instead of /var/run/corosync. What was the bug again we were trying to resolve? The startup segfault because of missing directories? Regards -steve _______________________________________________ Openais mailing list Openais@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/openais