tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: NFS experts: stale vnode pointer in ufs_fhtovp ?
On Sun, Aug 30, 2009 at 12:05:39AM +0200, Manuel Bouyer wrote:
> 187 if ((error = VFS_VGET(mp, ufhp->ufid_ino, &nvp)) != 0) {
> 188 *vpp = NULLVP;
> 189 return (error);
> 190 }
> 191 ip = VTOI(nvp);
> 192 if (ip->i_mode == 0 || ip->i_gen != ufhp->ufid_gen) {
> 193 vput(nvp);
> 194 *vpp = NULLVP;
> 195 return (ESTALE);
> 196 }
>
> It paniced because ip was NULL (cmpw $0,0x80(%eax) is ip->i_mode == 0).
I can't think of any reason a valid UFS vnode should have a null inode
pointer. Maybe someone else can though?
My first guess would be that you got back some other fs's vnode and
that something upstream, maybe the vnode cache, is/was all screwed
up. My second guess would be that you've hit a(nother) bug in vnode
reclaim/recycle, and you got what was a valid ufs vnode when it was
fetched from the cache but has since been cleaned on you.
I don't know why either of these would be happening, though.
--
David A. Holland
dholland%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index