svn commit: r253183 - stable/9/sys/fs/nullfs

Konstantin Belousov kib at FreeBSD.org
Thu Jul 11 04:47:44 UTC 2013


Author: kib
Date: Thu Jul 11 04:47:44 2013
New Revision: 253183
URL: http://svnweb.freebsd.org/changeset/base/253183

Log:
  MFC r252714:
  The tvp vnode on rename is usually unlinked.  Drop the cached null
  vnode for tvp to allow the free of the lower vnode, if needed.
  
  PR:	kern/180236

Modified:
  stable/9/sys/fs/nullfs/null_vnops.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/fs/   (props changed)

Modified: stable/9/sys/fs/nullfs/null_vnops.c
==============================================================================
--- stable/9/sys/fs/nullfs/null_vnops.c	Thu Jul 11 03:57:53 2013	(r253182)
+++ stable/9/sys/fs/nullfs/null_vnops.c	Thu Jul 11 04:47:44 2013	(r253183)
@@ -554,6 +554,7 @@ null_rename(struct vop_rename_args *ap)
 	struct vnode *fvp = ap->a_fvp;
 	struct vnode *fdvp = ap->a_fdvp;
 	struct vnode *tvp = ap->a_tvp;
+	struct null_node *tnn;
 
 	/* Check for cross-device rename. */
 	if ((fvp->v_mount != tdvp->v_mount) ||
@@ -568,7 +569,11 @@ null_rename(struct vop_rename_args *ap)
 		vrele(fvp);
 		return (EXDEV);
 	}
-	
+
+	if (tvp != NULL) {
+		tnn = VTONULL(tvp);
+		tnn->null_flags |= NULLV_DROP;
+	}
 	return (null_bypass((struct vop_generic_args *)ap));
 }
 


More information about the svn-src-all mailing list