changeset 2728:ad0dcd72aedc

6424872 Trusted Extensions: devfsadm produces duplicate /dev names for a device in device_maps
author aj
date Thu, 14 Sep 2006 09:17:54 -0700
parents fa06bd58f0f9
children aeda30620271
files usr/src/cmd/allocate/mkdevalloc.c
diffstat 1 files changed, 2 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/cmd/allocate/mkdevalloc.c	Thu Sep 14 00:52:01 2006 -0700
+++ b/usr/src/cmd/allocate/mkdevalloc.c	Thu Sep 14 09:17:54 2006 -0700
@@ -854,12 +854,6 @@
 		(void) strcat(nm, dep->d_name);
 		cd[i].name = nm;
 
-		/* save id # */
-		if (dep->d_name[0] == 'r')
-			(void) sscanf(dep->d_name, "rsr%d", &cd[i].id);
-		else
-			(void) sscanf(dep->d_name, "sr%d", &cd[i].id);
-
 		/* ignore if not symbolic link (note i not incremented) */
 		if (lstat(cd[i].name, &stat) < 0) {
 			perror(gettext("stat(2) failed "));
@@ -883,6 +877,7 @@
 		cp = strrchr(cd[i].device, '/');
 		cp++;				/* advance to device # */
 		(void) sscanf(cp, "c%dt%d", &cd[i].controller, &cd[i].number);
+		cd[i].id = cd[i].number;
 
 		i++;
 	}
@@ -1135,7 +1130,7 @@
 
 		/* ignore if this is a cd */
 		for (j = 0; j < cd_count; j++) {
-			if (id == cd[j].number && ctrl == cd[j].controller) {
+			if (id == cd[j].id && ctrl == cd[j].controller) {
 				is_cd = 1;
 				break;
 			}