svn commit: r209743 - head/sys/dev/md

Konstantin Belousov kib at FreeBSD.org
Tue Jul 6 18:22:57 UTC 2010


Author: kib
Date: Tue Jul  6 18:22:57 2010
New Revision: 209743
URL: http://svn.freebsd.org/changeset/base/209743

Log:
  Calculate nshift only once.
  
  Also noted by:	avg
  MFC after:	1 week

Modified:
  head/sys/dev/md/md.c

Modified: head/sys/dev/md/md.c
==============================================================================
--- head/sys/dev/md/md.c	Tue Jul  6 18:20:49 2010	(r209742)
+++ head/sys/dev/md/md.c	Tue Jul  6 18:22:57 2010	(r209743)
@@ -255,7 +255,7 @@ dimension(off_t size)
 {
 	off_t rcnt;
 	struct indir *ip;
-	int i, layer;
+	int layer;
 
 	rcnt = size;
 	layer = 0;
@@ -263,9 +263,6 @@ dimension(off_t size)
 		rcnt /= NINDIR;
 		layer++;
 	}
-	/* figure out log2(NINDIR) */
-	for (i = NINDIR, nshift = -1; i; nshift++)
-		i >>= 1;
 
 	/*
 	 * XXX: the top layer is probably not fully populated, so we allocate
@@ -1220,6 +1217,11 @@ g_md_init(struct g_class *mp __unused)
 	caddr_t c;
 	u_char *ptr, *name, *type;
 	unsigned len;
+	int i;
+
+	/* figure out log2(NINDIR) */
+	for (i = NINDIR, nshift = -1; i; nshift++)
+		i >>= 1;
 
 	mod = NULL;
 	sx_init(&md_sx, "MD config lock");


More information about the svn-src-all mailing list