summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/mount.c
diff options
context:
space:
mode:
authorGuillaume Cottenceau <gc@mandriva.com>2001-10-08 14:07:33 +0000
committerGuillaume Cottenceau <gc@mandriva.com>2001-10-08 14:07:33 +0000
commit3dc82ede70cb9f1ca6b26ee9c286127043779e73 (patch)
tree1266bb8a76bb020f47757188286801bbb89ff0d9 /mdk-stage1/mount.c
parent7df0d97b9467aa28ad554dc426a99789df71bbc4 (diff)
downloaddrakx-backup-do-not-use-3dc82ede70cb9f1ca6b26ee9c286127043779e73.tar
drakx-backup-do-not-use-3dc82ede70cb9f1ca6b26ee9c286127043779e73.tar.gz
drakx-backup-do-not-use-3dc82ede70cb9f1ca6b26ee9c286127043779e73.tar.bz2
drakx-backup-do-not-use-3dc82ede70cb9f1ca6b26ee9c286127043779e73.tar.xz
drakx-backup-do-not-use-3dc82ede70cb9f1ca6b26ee9c286127043779e73.zip
*** empty log message ***
Diffstat (limited to 'mdk-stage1/mount.c')
-rw-r--r--mdk-stage1/mount.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/mdk-stage1/mount.c b/mdk-stage1/mount.c
index 257638421..917100479 100644
--- a/mdk-stage1/mount.c
+++ b/mdk-stage1/mount.c
@@ -40,6 +40,7 @@ int ensure_dev_exists(char *dev)
int type = S_IFBLK; /* my default type is block. don't forget to change for chars */
char * name;
struct stat buf;
+ char * ptr;
name = &dev[5]; /* we really need that dev be passed as /dev/something.. */
@@ -85,8 +86,8 @@ int ensure_dev_exists(char *dev)
minor = name[2] - '0';
} else if (ptr_begins_static_str(name, "ida/") ||
ptr_begins_static_str(name, "cciss/")) {
- /* Compaq Smart Array */
- char * ptr = strchr(name, '/');
+ /* Compaq Smart Array "ida/c0d0{p1}" */
+ ptr = strchr(name, '/');
mkdir("/dev/ida", 0755);
mkdir("/dev/cciss", 0755);
major = ptr_begins_static_str(name, "ida/") ? 72 : 104 + charstar_to_int(ptr+2);
@@ -94,6 +95,14 @@ int ensure_dev_exists(char *dev)
minor = 16 * charstar_to_int(ptr+1);
ptr = strchr(ptr, 'p');
minor += charstar_to_int(ptr+1);
+ } else if (ptr_begins_static_str(name, "rd/")) {
+ /* DAC960 "rd/cXdXXpX" */
+ mkdir("/dev/rd", 0755);
+ major = 48 + charstar_to_int(name+4);
+ ptr = strchr(name+4, 'd');
+ minor = 8 * charstar_to_int(ptr+1);
+ ptr = strchr(ptr, 'p');
+ minor += charstar_to_int(ptr+1);
} else {
log_message("I don't know how to create device %s, please post bugreport to me!", dev);
return -1;