[Csync2] Ignore sockets ...

Lars Ellenberg lars.ellenberg at linbit.com
Mon Sep 19 14:08:02 CEST 2016


On Sat, Sep 17, 2016 at 10:53:01PM -0700, Marc Fournier wrote:
> 
> Is there a flag for this, or do I have to add a list of excludes?
> 
> I have one sync where there are 31 ‘errors’, and each of those errors
> is because the file is a socket … is there a flag I can use to ignore
> those automatically?

I think support for sockets has simple never been implemented
on the receiving side, and not been tested.
The sending side will send "create this socket, and chown it to u:g",
and the receiving side will ignore the creation, but then try the chown.
(or something like that. I just quickly browsed over the code.)

Support for named sockets would have to at least into
daemon.c: csync_daemon_session(), where it says
         case A_MKSOCK: /* just ignore socket files */

I'm not aware of a flag to ignore by file type.
If you intend to implement something like that, also consider the cases
where the file type of a dentry changes from file to directory to named
pipe to socket to special device node, and what should happen.

One way might be to pretend an S_ISSOCK(st.st_mode) dentry does simply
not exist. If it existed before as an other thing, that would then be
replicated as removal.

If you control the placement or naming conventions of those sockets,
I'd suggest you put them in a sub directory, or otherwise add an easily
excluded prefix/suffix to their name.

Cheers,

    Lars Ellenberg



More information about the Csync2 mailing list