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