Hey guys, does anyone know off the top of their heads why named pipes don't appear to work across null_fs mounted partitions? i.e. if I have a named pipe in a file system,
# ls -ld /mysql/mysql.sock
srwxrwxrwx 1 mysql wheel 0 Feb 3 19:01 /mysql/mysql.sock
# mysql --socket=/mysql/mysql.sock
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.0.33-log FreeBSD port: mysql-server-5.0.33
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
However if I make this available elsewhere via a null_fs mount:
# mkdir /foo
# mount_nullfs /mysql /foo
# ls -ld /foo/mysql.sock
srwxrwxrwx 1 mysql wheel 0 Feb 3 19:01 /foo/mysql.sock
# mysql --socket=/foo/mysql.sock -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket
'/foo/mysql.sock' (61)
the socket stops working.
However a hardlink to the socket works:
# umount /foo
# ln /mysql/mysql.sock /foo/mysql.sock
# mysql --socket=/foo/mysql.sock
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.0.33-log FreeBSD port: mysql-server-5.0.33
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
Is this a fundamental design issue with null_fs or a bug?
There appears to be a lot of confusion on the lists about this point
as many people are trying to do this so as to make a single mysql
server available from within a number of jails, for instance. However
people appear to think that this is a limitation of the jail code, not a
limitation of the null_fs code. Having named pipes work in null_fs
filesystems would be a very handy thing indeed.
I'd appreciate any insights into this.
Many thanks,
Joe
pgpAj6EuoAi7c.pgp
Description: PGP signature

