diff options
author | kib <kib@FreeBSD.org> | 2009-09-07 11:55:34 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2009-09-07 11:55:34 +0000 |
commit | 30f476628e6f86dfeae10a66497797b701734b2e (patch) | |
tree | 3e8abde66f775cdccd09d94318053100a29eedbb /sys | |
parent | f145a1a03639c6360d21e5c5bbc916b395e0c83e (diff) | |
download | FreeBSD-src-30f476628e6f86dfeae10a66497797b701734b2e.zip FreeBSD-src-30f476628e6f86dfeae10a66497797b701734b2e.tar.gz |
insmntque_stddtr() clears vp->v_data and resets vp->v_op to
dead_vnodeops before calling vgone(). Revert r189706 and corresponding
part of the r186560.
Noted and reviewed by: tegge
Approved by: des (pseudofs part)
MFC after: 3 days
Diffstat (limited to 'sys')
-rw-r--r-- | sys/fs/pseudofs/pseudofs_vncache.c | 1 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_vfsops.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/sys/fs/pseudofs/pseudofs_vncache.c b/sys/fs/pseudofs/pseudofs_vncache.c index 3145870..a92a446 100644 --- a/sys/fs/pseudofs/pseudofs_vncache.c +++ b/sys/fs/pseudofs/pseudofs_vncache.c @@ -193,6 +193,7 @@ retry: vn_lock(*vpp, LK_EXCLUSIVE | LK_RETRY); error = insmntque(*vpp, mp); if (error != 0) { + free(pvd, M_PFSVNCACHE); *vpp = NULLVP; return (error); } diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index 7aae808..d3d7c2c 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -1467,6 +1467,7 @@ ffs_vgetf(mp, ino, flags, vpp, ffs_flags) vp->v_vflag |= VV_FORCEINSMQ; error = insmntque(vp, mp); if (error != 0) { + uma_zfree(uma_inode, ip); *vpp = NULL; return (error); } |