changeset 13606:3720d427d9fa

2110 liblvm should avoid extending pointers Reviewed by: Joshua M. Clulow <josh@sysmgr.org> Reviewed by: Jason King <jason.brian.king@gmail.com> Reviewed by: Garrett D'Amore <garrett@damore.org> Approved by: Garrett D'Amore <garrett@damore.org>
author Richard Lowe <richlowe@richlowe.net>
date Mon, 16 May 2011 05:32:51 +0100
parents b5c2b5db80d6
children bbb551159b47
files usr/src/lib/lvm/libmeta/common/meta_metad_subr.c usr/src/lib/lvm/libmeta/common/meta_namespace.c
diffstat 2 files changed, 107 insertions(+), 110 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/lib/lvm/libmeta/common/meta_metad_subr.c	Sat Feb 04 16:38:08 2012 +1100
+++ b/usr/src/lib/lvm/libmeta/common/meta_metad_subr.c	Mon May 16 05:32:51 2011 +0100
@@ -23,8 +23,6 @@
  * Use is subject to license terms.
  */
 
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
-
 /*
  * Just in case we're not in a build environment, make sure that
  * TEXT_DOMAIN gets set to something.
@@ -242,20 +240,19 @@
 	reqp->ur_type2 = type2;
 
 	switch (cmd) {
-	    case MD_UR_GET_NEXT:
-		    reqp->ur_cmd = MD_DB_GETNEXTREC;
-		    reqp->ur_recid = *idp;
-		    if (metaioctl(ureq, reqp, &reqp->ur_mde, NULL)
-			!= 0) {
-			    (void) mdstealerror(ep, &reqp->ur_mde);
-			    Free(reqp);
-			    return (NULL);
-		    }
-		    *idp = reqp->ur_recid;
-		    break;
-	    case MD_UR_GET_WKEY:
-		    reqp->ur_recid = *idp;
-		    break;
+	case MD_UR_GET_NEXT:
+		reqp->ur_cmd = MD_DB_GETNEXTREC;
+		reqp->ur_recid = *idp;
+		if (metaioctl(ureq, reqp, &reqp->ur_mde, NULL) != 0) {
+			(void) mdstealerror(ep, &reqp->ur_mde);
+			Free(reqp);
+			return (NULL);
+		}
+		*idp = reqp->ur_recid;
+		break;
+	case MD_UR_GET_WKEY:
+		reqp->ur_recid = *idp;
+		break;
 	}
 
 	if (*idp <= 0) {
@@ -283,17 +280,17 @@
 	}
 
 	switch (reqp->ur_type) {
-	    case MDDB_USER:
-		    switch (reqp->ur_type2) {
-			case MDDB_UR_SR:
-				if (ckncvt_set_record(reqp, ep)) {
-					Free((void *)(uintptr_t)reqp->ur_data);
-					Free(reqp);
-					return (NULL);
-				}
-				break;
-		    }
-		    break;
+	case MDDB_USER:
+		switch (reqp->ur_type2) {
+		case MDDB_UR_SR:
+			if (ckncvt_set_record(reqp, ep)) {
+				Free((void *)(uintptr_t)reqp->ur_data);
+				Free(reqp);
+				return (NULL);
+			}
+			break;
+		}
+		break;
 	}
 
 	return (reqp);
@@ -337,9 +334,9 @@
 static int
 sr_hosts(md_set_record *sr)
 {
-	int		i,
-			nid = 0,
-			self_in_set = FALSE;
+	int		i;
+	int		nid = 0;
+	int		self_in_set = FALSE;
 	md_error_t	xep = mdnullerror;
 	md_mnnode_record	*nr;
 	md_mnset_record		*mnsr;
@@ -483,7 +480,7 @@
 				nm.setno = MD_LOCAL_SET;
 				nm.side = nr->nr_nodeid;
 				nm.key = dr->dr_key;
-				nm.devname = (uint64_t)device_name;
+				nm.devname = (uintptr_t)device_name;
 
 				if (metaioctl(MD_IOCGET_NM, &nm, &nm.mde,
 				    NULL) != 0) {
@@ -530,7 +527,7 @@
 				nm.setno = MD_LOCAL_SET;
 				nm.side = i + SKEW;
 				nm.key = dr->dr_key;
-				nm.devname = (uint64_t)device_name;
+				nm.devname = (uintptr_t)device_name;
 
 				if (metaioctl(MD_IOCGET_NM, &nm, &nm.mde,
 				    NULL) != 0) {
@@ -690,7 +687,7 @@
 						continue;
 
 					add_key_to_lst(&use, i + SKEW,
-						dr->dr_key);
+					    dr->dr_key);
 				}
 			}
 		}
@@ -915,7 +912,7 @@
 	/* Go get the set records */
 	id = 0;
 	while ((sr = get_ur_rec(MD_LOCAL_SET, MD_UR_GET_NEXT, MDDB_UR_SR,
-							&id, ep)) != NULL) {
+	    &id, ep)) != NULL) {
 		sr->sr_next = NULL;
 		sr->sr_drivechain = NULL;
 
@@ -967,7 +964,7 @@
 			mnsr->sr_nodechain = NULL;
 			p = &mnsr->sr_noderec;
 			while ((nr = get_ur_rec(MD_LOCAL_SET, MD_UR_GET_WKEY,
-					MDDB_UR_NR, p, ep)) != NULL) {
+			    MDDB_UR_NR, p, ep)) != NULL) {
 				nr->nr_next = NULL;
 
 				if (md_in_daemon)
@@ -1049,7 +1046,7 @@
 					p = NULL;
 
 				mnnr_cache_add((struct md_mnset_record *)sr,
-					nr);
+				    nr);
 
 				if ((md_in_daemon) &&
 				    (strcmp(nr->nr_nodename, mynode()) == 0)) {
@@ -1059,7 +1056,7 @@
 					if (metaioctl(MD_MN_SET_NODEID, &snp,
 					    &snp.sn_mde, NULL) != 0) {
 						(void) mdstealerror(ep,
-							&snp.sn_mde);
+						    &snp.sn_mde);
 					}
 				}
 
@@ -1079,7 +1076,7 @@
 		/* Go get the drive records */
 		p = &sr->sr_driverec;
 		while ((dr = get_ur_rec(MD_LOCAL_SET, MD_UR_GET_WKEY,
-				MDDB_UR_DR, p, ep)) != NULL) {
+		    MDDB_UR_DR, p, ep)) != NULL) {
 			dr->dr_next = NULL;
 
 			if (md_in_daemon)
@@ -1360,19 +1357,19 @@
 	md_error_t	error = mdnullerror;
 	md_set_record	*sr;
 
-	if (md_in_daemon)
-	    assert(setsnarfdone != 0);
-	else if (set_snarf(&error)) {
-	    mdclrerror(&error);
-	    return (0);
+	if (md_in_daemon) {
+		assert(setsnarfdone != 0);
+	} else if (set_snarf(&error)) {
+		mdclrerror(&error);
+		return (0);
 	}
 
 	for (sr = setrecords; sr != NULL; sr = sr->sr_next) {
-	    if (strcmp(setname, sr->sr_setname) == 0) {
-		if (sr->sr_flags & MD_SR_AUTO_TAKE)
-		    return (1);
-		return (0);
-	    }
+		if (strcmp(setname, sr->sr_setname) == 0) {
+			if (sr->sr_flags & MD_SR_AUTO_TAKE)
+				return (1);
+			return (0);
+		}
 	}
 
 	return (0);
@@ -1384,19 +1381,19 @@
 	md_error_t	error = mdnullerror;
 	md_set_record	*sr;
 
-	if (md_in_daemon)
-	    assert(setsnarfdone != 0);
-	else if (set_snarf(&error)) {
-	    mdclrerror(&error);
-	    return (0);
+	if (md_in_daemon) {
+		assert(setsnarfdone != 0);
+	} else if (set_snarf(&error)) {
+		mdclrerror(&error);
+		return (0);
 	}
 
 	for (sr = setrecords; sr != NULL; sr = sr->sr_next) {
-	    if (setno == sr->sr_setno) {
-		if (sr->sr_flags & MD_SR_AUTO_TAKE)
-		    return (1);
-		return (0);
-	    }
+		if (setno == sr->sr_setno) {
+			if (sr->sr_flags & MD_SR_AUTO_TAKE)
+				return (1);
+			return (0);
+		}
 	}
 
 	return (0);
--- a/usr/src/lib/lvm/libmeta/common/meta_namespace.c	Sat Feb 04 16:38:08 2012 +1100
+++ b/usr/src/lib/lvm/libmeta/common/meta_namespace.c	Mon May 16 05:32:51 2011 +0100
@@ -23,8 +23,6 @@
  * Use is subject to license terms.
  */
 
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
-
 /*
  * namespace utilities
  */
@@ -63,7 +61,7 @@
 	nm.setno = setno;
 	nm.side = sideno;
 	nm.key = key;
-	nm.devname = (uint64_t)device_name;
+	nm.devname = (uintptr_t)device_name;
 
 	if (metaioctl(MD_IOCGET_NM, &nm, &nm.mde, NULL) != 0) {
 		(void) mdstealerror(ep, &nm.mde);
@@ -189,7 +187,7 @@
 	nm.setno = setno;
 	nm.side = sideno;
 	nm.key = key;
-	nm.minorname = (uint64_t)minorname;
+	nm.minorname = (uintptr_t)minorname;
 
 	if (metaioctl(MD_IOCGET_DIDMIN, &nm, &nm.mde, NULL) != 0) {
 		(void) mdstealerror(ep, &nm.mde);
@@ -356,7 +354,7 @@
 	nm.key = MD_KEYWILD;
 	nm.major = meta_getmajor(dev);
 	nm.mnum = meta_getminor(dev);
-	nm.devname = (uint64_t)device_name;
+	nm.devname = (uintptr_t)device_name;
 
 	if (metaioctl(MD_IOCGET_NM, &nm, &nm.mde, NULL) != 0) {
 		(void) mdstealerror(ep, &nm.mde);
@@ -750,16 +748,16 @@
 	 * The valid qualified name
 	 */
 	if (metaislocalset(sp)) {
-	    len = strlen(p) + strlen("/dev/md/dsk/") + 1;
-	    devname = Malloc(len);
-	    (void) strcpy(devname, "/dev/md/dsk/");
-	    (void) strcat(devname, p);
+		len = strlen(p) + strlen("/dev/md/dsk/") + 1;
+		devname = Malloc(len);
+		(void) strcpy(devname, "/dev/md/dsk/");
+		(void) strcat(devname, p);
 	} else {
-	    len = strlen(sp->setname) + strlen(p) +
-		strlen("/dev/md//dsk/") + 1;
-	    devname = Malloc(len);
-	    (void) snprintf(devname, len, "/dev/md/%s/dsk/%s",
-			sp->setname, p);
+		len = strlen(sp->setname) + strlen(p) +
+		    strlen("/dev/md//dsk/") + 1;
+		devname = Malloc(len);
+		(void) snprintf(devname, len, "/dev/md/%s/dsk/%s",
+		    sp->setname, p);
 	}
 
 	/*
@@ -771,11 +769,11 @@
 	}
 
 	if (metaislocalset(sp)) {
-	    if ((key = add_name(sp, myside, MD_KEYWILD, drvname,
-		minor, devname, NULL, NULL, ep)) == MD_KEYBAD) {
+		if ((key = add_name(sp, myside, MD_KEYWILD, drvname,
+		    minor, devname, NULL, NULL, ep)) == MD_KEYBAD) {
 			Free(devname);
 			return (-1);
-	    }
+		}
 	} else {
 		/*
 		 * Add myside first and use the returned key to add other sides
@@ -795,28 +793,29 @@
 		}
 
 		if (MD_MNSET_DESC(sd)) {
-		    for (mnside = sd->sd_nodelist; mnside != NULL;
-			mnside = mnside->nd_next) {
-			if (mnside->nd_nodeid == myside)
-				continue;
-			if (add_name(sp, mnside->nd_nodeid, key, drvname,
-			    minor, devname, NULL, NULL, ep) == -1) {
-				Free(devname);
-				return (-1);
+			for (mnside = sd->sd_nodelist; mnside != NULL;
+			    mnside = mnside->nd_next) {
+				if (mnside->nd_nodeid == myside)
+					continue;
+				if (add_name(sp, mnside->nd_nodeid, key,
+				    drvname, minor, devname, NULL, NULL,
+				    ep) == -1) {
+					Free(devname);
+					return (-1);
+				}
 			}
-		    }
 		} else {
-		    for (side = 0; side < MD_MAXSIDES; side++) {
-			if (sd->sd_nodes[side][0] == '\0')
-				continue;
-			if (side == myside)
-				continue;
-			if (add_name(sp, side, key, drvname, minor, devname,
-			    NULL, NULL, ep) == -1) {
-				Free(devname);
-				return (-1);
+			for (side = 0; side < MD_MAXSIDES; side++) {
+				if (sd->sd_nodes[side][0] == '\0')
+					continue;
+				if (side == myside)
+					continue;
+				if (add_name(sp, side, key, drvname, minor,
+				    devname, NULL, NULL, ep) == -1) {
+					Free(devname);
+					return (-1);
+				}
 			}
-		    }
 		}
 	}
 
@@ -859,25 +858,26 @@
 		}
 
 		if (MD_MNSET_DESC(sd)) {
-		    for (mnside = sd->sd_nodelist; mnside != NULL;
-			mnside = mnside->nd_next) {
-			if (mnside->nd_nodeid == myside)
-				continue;
-			if ((rval = del_name(sp, mnside->nd_nodeid, key,
-			    ep)) == -1) {
-				goto out;
+			for (mnside = sd->sd_nodelist; mnside != NULL;
+			    mnside = mnside->nd_next) {
+				if (mnside->nd_nodeid == myside)
+					continue;
+				if ((rval = del_name(sp, mnside->nd_nodeid, key,
+				    ep)) == -1) {
+					goto out;
+				}
 			}
-		    }
 		} else {
-		    for (side = 0; side < MD_MAXSIDES; side++) {
-			if (sd->sd_nodes[side][0] == '\0')
-				continue;
-			if (side == myside)
-				continue;
-			if ((rval = del_name(sp, side, key, ep)) == -1) {
-				goto out;
+			for (side = 0; side < MD_MAXSIDES; side++) {
+				if (sd->sd_nodes[side][0] == '\0')
+					continue;
+				if (side == myside)
+					continue;
+				if ((rval = del_name(sp, side, key,
+				    ep)) == -1) {
+					goto out;
+				}
 			}
-		    }
 		}
 
 		/*