svn commit: r196920 - in head/sys: fs/pseudofs ufs/ffs

Konstantin Belousov kib at FreeBSD.org
Mon Sep 7 11:55:34 UTC 2009


Author: kib
Date: Mon Sep  7 11:55:34 2009
New Revision: 196920
URL: http://svn.freebsd.org/changeset/base/196920

Log:
  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

Modified:
  head/sys/fs/pseudofs/pseudofs_vncache.c
  head/sys/ufs/ffs/ffs_vfsops.c

Modified: head/sys/fs/pseudofs/pseudofs_vncache.c
==============================================================================
--- head/sys/fs/pseudofs/pseudofs_vncache.c	Mon Sep  7 11:38:43 2009	(r196919)
+++ head/sys/fs/pseudofs/pseudofs_vncache.c	Mon Sep  7 11:55:34 2009	(r196920)
@@ -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);
 	}

Modified: head/sys/ufs/ffs/ffs_vfsops.c
==============================================================================
--- head/sys/ufs/ffs/ffs_vfsops.c	Mon Sep  7 11:38:43 2009	(r196919)
+++ head/sys/ufs/ffs/ffs_vfsops.c	Mon Sep  7 11:55:34 2009	(r196920)
@@ -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);
 	}


More information about the svn-src-all mailing list