On Mon, May 26, 2014 at 12:43:32PM +0200, Manuel Bouyer wrote:
> > if ((error = VFS_VGET(mp, ufhp->ufid_ino, &nvp)) != 0) {
> > *vpp = NULLVP;
> > return (error);
> > }
> > ip = VTOI(nvp);
> > KASSERT(ip != NULL);
> > --> if (ip->i_mode == 0 || ip->i_gen != ufhp->ufid_gen) {
> >
> > Looks like the KASSERT should have caught it (in a DIAGNOSTIC kernel).
> > VTOI returned NULL?
>
> Probably. I've already fixed races like this (between fhtovp() and reclaim)
> in the past, but I guess there are some more ... Not easy to track down.
The new vnode cache in -current should eliminate this problem once and
for all... not that this helps 6.1.
--
David A. Holland
[email protected]