6

I am performing the following on FreeBSD 9.0-STABLE:

mount_nullfs /foo /jail/foo

After that, from within the host system, the mount works. So this works:

touch /foo/bar && ls /jail/foo/bar

But when I change into the jail the mounted directory is empty:

jexec 1 tcsh
ls /foo/bar

I get:

ls: /foo/bar: No such file or directory

/foo is completely empty.

How can I have the files in the mounted directory show up correctly when mounted inside the chroot as found in the host system?

George M
  • 13,589
  • 4
  • 43
  • 53
user569825
  • 507
  • 1
  • 7
  • 15

1 Answers1

3

I just found out that I had mounted onto a directory which itself is already rebound (mounted via nullfs).

/var/data/home/j/mroot on /var/data/home/j/www
/var/data/home/js/www on /var/data/home/j/www/s
/foo on /var/data/home/js/www/foo

Besides being confusing this is apparently unsupported / wrong.

I changed it like so (note the path in the last line):

/var/data/home/j/mroot on /var/data/home/j/www
/var/data/home/js/www on /var/data/home/j/www/s
/foo on /var/data/home/j/www/s/foo

Now the mount works without any additional settings.

user569825
  • 507
  • 1
  • 7
  • 15