svn commit: r248943 - stable/8/sys/net

Alexander V. Chernikov melifaro at FreeBSD.org
Sun Mar 31 10:20:29 UTC 2013


Author: melifaro
Date: Sun Mar 31 10:20:29 2013
New Revision: 248943
URL: http://svnweb.freebsd.org/changeset/base/248943

Log:
  MFC r247842.
  
  Write lock is not required for find&compare operation.

Modified:
  stable/8/sys/net/route.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/net/   (props changed)

Modified: stable/8/sys/net/route.c
==============================================================================
--- stable/8/sys/net/route.c	Sun Mar 31 10:17:39 2013	(r248942)
+++ stable/8/sys/net/route.c	Sun Mar 31 10:20:29 2013	(r248943)
@@ -1515,7 +1515,7 @@ rtinit1(struct ifaddr *ifa, int cmd, int
 			if (rnh == NULL)
 				/* this table doesn't exist but others might */
 				continue;
-			RADIX_NODE_HEAD_LOCK(rnh);
+			RADIX_NODE_HEAD_RLOCK(rnh);
 #ifdef RADIX_MPATH
 			if (rn_mpath_capable(rnh)) {
 
@@ -1544,7 +1544,7 @@ rtinit1(struct ifaddr *ifa, int cmd, int
 			    (rn->rn_flags & RNF_ROOT) ||
 			    RNTORT(rn)->rt_ifa != ifa ||
 			    !sa_equal((struct sockaddr *)rn->rn_key, dst));
-			RADIX_NODE_HEAD_UNLOCK(rnh);
+			RADIX_NODE_HEAD_RUNLOCK(rnh);
 			if (error) {
 				/* this is only an error if bad on ALL tables */
 				continue;


More information about the svn-src-all mailing list