Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Feb 2007 02:37:11 +0000
From:      Josef Karthauser <joe@FreeBSD.org>
To:        fs@freebsd.org
Cc:        hackers@freebsd.org
Subject:   nullfs and named pipes.
Message-ID:  <20070204023711.GA3393@genius.tao.org.uk>

next in thread | raw e-mail | index | archive | help

--x+6KMIRAuhnl3hBn
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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=20
    srwxrwxrwx  1 mysql  wheel  0 Feb  3 19:01 /mysql/mysql.sock

    # mysql --socket=3D/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>=20

However if I make this available elsewhere via a null_fs mount:

    # mkdir /foo
    # mount_nullfs /mysql /foo
    # ls -ld /foo/mysql.sock=20
    srwxrwxrwx  1 mysql  wheel  0 Feb  3 19:01 /foo/mysql.sock

    # mysql --socket=3D/foo/mysql.sock -p
    Enter password:=20
    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=3D/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

--x+6KMIRAuhnl3hBn
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.4 (FreeBSD)

iEYEARECAAYFAkXFRtcACgkQXVIcjOaxUBZ2AgCfTJ8HIcdLfntDJMmcX5ndeyDL
W5IAoJ+u0qy81TjfB/P1XedupjNxqp+m
=5sRm
-----END PGP SIGNATURE-----

--x+6KMIRAuhnl3hBn--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070204023711.GA3393>