--- ./compat_name.c.cciss 2002-10-16 17:17:16.000000000 +0200 +++ ./compat_name.c 2002-10-16 17:17:37.000000000 +0200 @@ -224,6 +224,13 @@ sprintf (buffer, "ida/c%dd%dp%s", minor / 16 / 16, minor / 16 % 16, ptr + 4); compat_name = buffer; } + else if (strncmp (devname, "cciss/", 6) == 0) { + if (strcmp (devname + namelen - 4, "disc") == 0) + sprintf ( buffer, "cciss/c%dd%d", minor / 16 / 16, minor / 16 % 16); + else if (strncmp (ptr = (strrchr (devname, '/') +1), "part", 4) == 0) + sprintf (buffer, "cciss/c%dd%dp%s", minor / 16 / 16, minor / 16 % 16, ptr + 4); + compat_name = buffer; + } else if (strncmp (devname, "vcc/", 4) == 0) { sprintf (buffer, "vcs%s", devname + 4); --- ./devfsd.c.cciss 2002-10-16 17:17:16.000000000 +0200 +++ ./devfsd.c 2002-10-16 17:18:05.000000000 +0200 @@ -1467,6 +1467,11 @@ if ( (strncmp (ptr, "part", 4) == 0) || (strncmp (ptr, "disc", 5) == 0) ) dest_name = info->devname+4; } + if ( strncmp (info->devname, "cciss/", 6) == 0) { + ptr = (strrchr (info->devname, '/') +1); + if ( (strncmp (ptr, "part", 4) == 0) || (strncmp (ptr, "disc", 5) == 0) ) + dest_name = info->devname+6; + } break; case AC_MKNEWCOMPAT: case AC_RMNEWCOMPAT: