unionfs status

Julian Elischer julian at elischer.org
Thu Mar 27 12:22:13 PDT 2008

Kurt Jaeger wrote:
> Vadim Goncharov wrote:
>> Robert Watson wrote:
>>> If you're using unionfs 
>>> to take a template system and "broadcast it" to many jails, you probably don't 
>>> want all the jails talking to the same syslogd, you want them each talking to 
>>> their own.  When syslogd in a jail finds a disconnected socket, which is 
>>> effectively what a NULL v_socket pointer means, in /var/run/log, it should be 
>>> unlinking it and creating a new socket, not reusing the existing file on disk.
>> This code's use in jails is primarily intended for mysql (and the like
>> daemons), not syslogd (for which you said it right). Such daemons really
>> require broadcasting, yep - so unionfs should support it...
> Thanks for this description. So we basically have two different
> uses for UNIX sockets in unionfs with jails ?
> 1) socket in jail to communicate only inside one jail (syslog-case)
> 2) socket in jail as a means of IPC between different jails (mysql-case)
> Is 2) really supposed to work like this ?

think about it..
the socket is a file interface to a process.
if you are reading the same socket, you expect to get the same process.

in (1) you put the socket somewhere not shared.
in (2) you put the socket somewhere shared.

in nullfs you are allowing access to the same vnode via several 
namespaces positions. A new socket is visible to all jails.
In unionfs a new socket would replace the old one and thus be only 
locally visible (refers to a different vnode to those accessed by the 
same name in other mounts).


More information about the freebsd-current mailing list