On Tue, Jul 17, 2012 at 10:44:13PM +0530, Samba wrote: > Hi Lars, > > I have updated the patch to also sync the complete directory tree, but in > the subsequent run.
Thanks. Sorry for response times, swamped. Though I should find some time for csync2 next week. > I tried to make it sync in the same run by trying to invoke > csync_update_file_mod funtion but was getting "Format Error", so left it > with syncing in the subsequent run by marking those children > [files/folders] as dirty. > > I also made a minor fix related to creating the configured backup directory > instead of failing with an unrecognizable error message "Format Error". > > I'm confident that this patch makes csync2 more stabler and leavese very > few chances of failing. > > I hope this patch gets approved and finally makes its way to the trunk soon. > > > Thanks and Regards, > Samba > > > PS: > > A note about handling deletes with auto-mode younger/older --- perhaps we > may not have a clean way of identifying whether the deletion on one node is > younger than a modification on the other node when we are relying on > scheduled mechanism like cron but we would certainly be able to distinguish > when we integrate an inode eventing mechanism like lsync for populating the > "hints" table. I agree that we should keep it for future though. In that case you are talking about a tight race. If you call csync2 -u "occasionally" only, then conflicts can happen. But if you trigger it "immediately" (via inotify), to have a conflict there, you'd really need this to happen "simultaneously". Because usually, you'd have either the deletion first (and propagated), and then not a modify, but a (re-)create (propagated). Or you'd have the modify (also propagated), and then a delete (propagated). So that would mean you really don't want to use csync2 as arbitrator there, but fix your application to use some means of cooperation ("locking"?) *outside* of csync2. Lars _______________________________________________ Csync2 mailing list Csync2@lists.linbit.com http://lists.linbit.com/mailman/listinfo/csync2