Re: Recursive nullfs mounts and r224655

From: Kostik Belousov <kostikbel_at_gmail.com>
Date: Sat, 6 Aug 2011 17:43:25 +0300
On Sat, Aug 06, 2011 at 04:44:25AM -0400, b. f. wrote:
> Recent changes to the kernel (sys/kern/vfs_mount.c, in r224655?)
> between r224550 and r224655 have broken my tinderbox setup.  It had a
> tmpfs filesystem mounted at /T and a UFS filesystem mounted at /U,
> and, when setting up the tinderbox, performed:
> 
> mkdir /U/u1
> mkdir /U/u2
> mkdir /T/t1
> mount -t nullfs /T/t1 /U/u1
> mkdir-p /U/u1/u3/u4
> mount -t nullfs /U/u2 /U/u1/u3/u4
> ...
> 
> This worked at r224550 and before.  It now fails at the second nullfs
> mount, with ENOENT("mount_nullfs: No such file or directory").
r224615 and r224655 must be reverted.

The reason for your trouble is that nullfs cannot cache any vnodes,
thus reclaiming anything that get reference count of 0. This interacts
badly with VOP_VNTOCNP() which has to operate on the vnodes with
zero refcount, since we cannot decrement refcount under the namecache
lock.

Trying to update vptocnp(9) interface is too intrusive change for freeze
period.

Received on Sat Aug 06 2011 - 12:43:29 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:16 UTC