Change the kernel dev_t, representing a pointer to a specinfo structure,
[dragonfly.git] / sys / kern / vfs_conf.c
index 76f3055..d9ee84c 100644 (file)
@@ -26,7 +26,7 @@
  * SUCH DAMAGE.
  *
  *     $FreeBSD: src/sys/kern/vfs_conf.c,v 1.49.2.5 2003/01/07 11:56:53 joerg Exp $
- *     $DragonFly: src/sys/kern/vfs_conf.c,v 1.16 2006/05/06 18:48:52 dillon Exp $
+ *     $DragonFly: src/sys/kern/vfs_conf.c,v 1.20 2006/09/10 01:26:39 dillon Exp $
  */
 
 /*
@@ -105,7 +105,7 @@ static void
 vfs_mountroot(void *junk)
 {
        int     i;
-       dev_t   save_rootdev = rootdev;
+       cdev_t  save_rootdev = rootdev;
        
        /* 
         * The root filesystem information is compiled in, and we are
@@ -142,13 +142,13 @@ vfs_mountroot(void *junk)
         * supplied via some other means.  This is the preferred 
         * mechanism.
         */
-       if (!vfs_mountroot_try(getenv("vfs.root.mountfrom")))
+       if (!vfs_mountroot_try(kgetenv("vfs.root.mountfrom")))
                return;
 
        /*
         * If a vfs set rootdev, try it (XXX VINUM HACK!)
         */
-       if (save_rootdev != NODEV) {
+       if (save_rootdev != NOCDEV) {
                rootdev = save_rootdev;
                if (!vfs_mountroot_try(""))
                        return;
@@ -206,8 +206,8 @@ vfs_mountroot_try(const char *mountfrom)
        crit_exit();
 
        /* parse vfs name and devname */
-       vfsname = malloc(MFSNAMELEN, M_MOUNT, M_WAITOK);
-       devname = malloc(MNAMELEN, M_MOUNT, M_WAITOK);
+       vfsname = kmalloc(MFSNAMELEN, M_MOUNT, M_WAITOK);
+       devname = kmalloc(MNAMELEN, M_MOUNT, M_WAITOK);
        vfsname[0] = devname[0] = 0;
        sprintf(patt, "%%%d[a-z0-9]:%%%ds", MFSNAMELEN, MNAMELEN);
        if (sscanf(mountfrom, patt, vfsname, devname) < 1)
@@ -228,7 +228,7 @@ vfs_mountroot_try(const char *mountfrom)
                printf("setrootbyname failed\n");
 
        /* If the root device is a type "memory disk", mount RW */
-       if (rootdev != NODEV && dev_is_good(rootdev) &&
+       if (rootdev != NOCDEV && dev_is_good(rootdev) &&
            (dev_dflags(rootdev) & D_MEMDISK)) {
                mp->mnt_flag &= ~MNT_RDONLY;
        }
@@ -237,13 +237,13 @@ vfs_mountroot_try(const char *mountfrom)
 
 done:
        if (vfsname != NULL)
-               free(vfsname, M_MOUNT);
+               kfree(vfsname, M_MOUNT);
        if (devname != NULL)
-               free(devname, M_MOUNT);
+               kfree(devname, M_MOUNT);
        if (error != 0) {
                if (mp != NULL) {
                        vfs_unbusy(mp);
-                       free(mp, M_MOUNT);
+                       kfree(mp, M_MOUNT);
                }
                printf("Root mount failed: %d\n", error);
        } else {
@@ -265,7 +265,7 @@ vfs_mountroot_ask(void)
 {
        char name[128];
        int i;
-       dev_t dev;
+       cdev_t dev;
 
        for(;;) {
                printf("\nManual root filesystem specification:\n");
@@ -331,17 +331,17 @@ gets(char *cp)
 }
 
 /*
- * Convert a given name to the dev_t of the disk-like device
+ * Convert a given name to the cdev_t of the disk-like device
  * it refers to.
  */
-dev_t
-getdiskbyname(const char *name) 
+cdev_t
+kgetdiskbyname(const char *name) 
 {
        char *cp;
        int nlen;
        int cd, unit, slice, part;
-       dev_t dev;
-       dev_t rdev;
+       cdev_t dev;
+       cdev_t rdev;
 
        /*
         * Get the base name of the device
@@ -355,7 +355,7 @@ getdiskbyname(const char *name)
                ++cp;
        if (cp == name) {
                printf("missing device name\n");
-               return (NODEV);
+               return (NOCDEV);
        }
        nlen = cp - name;
 
@@ -365,7 +365,7 @@ getdiskbyname(const char *name)
        unit = strtol(cp, &cp, 10);
        if (name + nlen == (const char *)cp || unit < 0 || unit > DKMAXUNIT) {
                printf("bad unit: %d\n", unit);
-               return (NODEV);
+               return (NOCDEV);
        }
 
        /*
@@ -378,7 +378,7 @@ getdiskbyname(const char *name)
                slice = cp[1] - '0';
                if (slice < 1 || slice > 9) {
                        printf("bad slice number\n");
-                       return(NODEV);
+                       return(NOCDEV);
                }
                ++slice;        /* slice #1 starts at 2 */
                cp += 2;
@@ -398,7 +398,7 @@ getdiskbyname(const char *name)
 
        if (*cp != '\0') {
                printf("junk after name\n");
-               return (NODEV);
+               return (NOCDEV);
        }
 
        /*
@@ -417,7 +417,7 @@ getdiskbyname(const char *name)
        }
        if (cd == NUMCDEVSW) {
                printf("no such device '%*.*s'\n", nlen, nlen, name);
-               return (NODEV);
+               return (NOCDEV);
        }
 
        /*
@@ -434,10 +434,10 @@ getdiskbyname(const char *name)
 static int
 setrootbyname(char *name)
 {
-       dev_t diskdev;
+       cdev_t diskdev;
 
-       diskdev = getdiskbyname(name);
-       if (diskdev != NODEV) {
+       diskdev = kgetdiskbyname(name);
+       if (diskdev != NOCDEV) {
                rootdev = diskdev;
                return (0);
        }
@@ -448,15 +448,15 @@ setrootbyname(char *name)
 #ifdef DDB
 DB_SHOW_COMMAND(disk, db_getdiskbyname)
 {
-       dev_t dev;
+       cdev_t dev;
 
        if (modif[0] == '\0') {
                db_error("usage: show disk/devicename");
                return;
        }
-       dev = getdiskbyname(modif);
-       if (dev != NODEV)
-               db_printf("dev_t = %p\n", dev);
+       dev = kgetdiskbyname(modif);
+       if (dev != NOCDEV)
+               db_printf("cdev_t = %p\n", dev);
        else
                db_printf("No disk device matched.\n");
 }