Hi Andrew, Hi Vladislav, I try whether this correction is effective for this problem. * https://github.com/beekhof/pacemaker/commit/eb6264bf2db395779e65dadf1c626e050a388c59
Best Regards, Hideo Yamauchi. --- On Thu, 2013/5/16, Andrew Beekhof <and...@beekhof.net> wrote: > > On 16/05/2013, at 3:49 PM, Vladislav Bogdanov <bub...@hoster-ok.com> wrote: > > > 16.05.2013 02:46, Andrew Beekhof wrote: > >> > >> On 15/05/2013, at 6:44 PM, Vladislav Bogdanov <bub...@hoster-ok.com> wrote: > >> > >>> 15.05.2013 11:18, Andrew Beekhof wrote: > >>>> > >>>> On 15/05/2013, at 5:31 PM, Vladislav Bogdanov <bub...@hoster-ok.com> > >>>> wrote: > >>>> > >>>>> 15.05.2013 10:25, Andrew Beekhof wrote: > >>>>>> > >>>>>> On 15/05/2013, at 3:50 PM, Vladislav Bogdanov <bub...@hoster-ok.com> > >>>>>> wrote: > >>>>>> > >>>>>>> 15.05.2013 08:23, Andrew Beekhof wrote: > >>>>>>>> > >>>>>>>> On 15/05/2013, at 3:11 PM, renayama19661...@ybb.ne.jp wrote: > >>>>>>>> > >>>>>>>>> Hi Andrew, > >>>>>>>>> > >>>>>>>>> Thank you for comments. > >>>>>>>>> > >>>>>>>>>>> The guest located it to the shared disk. > >>>>>>>>>> > >>>>>>>>>> What is on the shared disk? The whole OS or app-specific data > >>>>>>>>>> (i.e. nothing pacemaker needs directly)? > >>>>>>>>> > >>>>>>>>> Shared disk has all the OS and the all data. > >>>>>>>> > >>>>>>>> Oh. I can imagine that being problematic. > >>>>>>>> Pacemaker really isn't designed to function without disk access. > >>>>>>>> > >>>>>>>> You might be able to get away with it if you turn off saving PE > >>>>>>>> files to disk though. > >>>>>>> > >>>>>>> I store CIB and PE files to tmpfs, and sync them to remote storage > >>>>>>> (CIFS) with lsyncd level 1 config (I may share it on request). It > >>>>>>> copies > >>>>>>> critical data like cib.xml, and moves everything else, symlinking it > >>>>>>> to > >>>>>>> original place. The same technique may apply here, but with local fs > >>>>>>> instead of cifs. > >>>>>>> > >>>>>>> Btw, the following patch is needed for that, otherwise pacemaker > >>>>>>> overwrites remote files instead of creating new ones on tmpfs: > >>>>>>> > >>>>>>> --- a/lib/common/xml.c 2011-02-11 11:42:37.000000000 +0100 > >>>>>>> +++ b/lib/common/xml.c 2011-02-24 15:07:48.541870829 +0100 > >>>>>>> @@ -529,6 +529,8 @@ write_file(const char *string, const char > >>>>>>> *filename) > >>>>>>> return -1; > >>>>>>> } > >>>>>>> > >>>>>>> + unlink(filename); > >>>>>> > >>>>>> Seems like it should be safe to include for normal operation. > >>>>> > >>>>> Exactly. > >>>> > >>>> Small flaw in that logic... write_file() is not used anywhere. > >>> > >>> Heh, thanks for spotting this. > >>> > >>> I recall write_file() was used for pengine, but some other function for > >>> CIB. You probably optimized that but forgot to remove unused function, > >>> that's why I was sure patch is still valid. And I did tests (CIFS > >>> storage outage simulation) only after initial patch, but not last years, > >>> that's why I didn't notice the regression - storage uses pacemaker too ;) > >>> . > >>> > >>> This should go to write_xml_file() (And probably to other places just > >>> before fopen(..., "w"), f.e. series). > >> > >> I've consolidated the code, however adding the unlink() would break things > >> for anyone intentionally symlinking cib.xml from somewhere else (like a > >> git repo). > >> So I'm not so sure I should make the unlink() change :( > > > > Agree. > > I originally made it specific to pengine files. > > What do you prefer, simple wrapper in xml.c (f.e. > > unlink_and_write_xml_file()) or just add unlink() call to pengine before > > it calls write_xml_file()? > > The last one :) > _______________________________________________ > Pacemaker mailing list: Pacemaker@oss.clusterlabs.org > http://oss.clusterlabs.org/mailman/listinfo/pacemaker > > Project Home: http://www.clusterlabs.org > Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf > Bugs: http://bugs.clusterlabs.org > _______________________________________________ Pacemaker mailing list: Pacemaker@oss.clusterlabs.org http://oss.clusterlabs.org/mailman/listinfo/pacemaker Project Home: http://www.clusterlabs.org Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf Bugs: http://bugs.clusterlabs.org