Mercurial > illumos > illumos-gate
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; + } } - } } /*