Changes in uspace/app/init/init.c [28be7fa:8e33e1d] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/init/init.c

    r28be7fa r8e33e1d  
    9494static bool mount_devfs(void)
    9595{
    96         int rc = mount("devfs", DEVFS_MOUNT_POINT, "", "", IPC_FLAG_BLOCKING);
     96        char null[MAX_DEVICE_NAME];
     97        int null_id = devmap_null_create();
     98       
     99        if (null_id == -1) {
     100                printf(NAME ": Unable to create null device\n");
     101                return false;
     102        }
     103       
     104        snprintf(null, MAX_DEVICE_NAME, "null/%d", null_id);
     105        int rc = mount("devfs", DEVFS_MOUNT_POINT, null, "", IPC_FLAG_BLOCKING);
    97106       
    98107        switch (rc) {
     
    102111        case EBUSY:
    103112                printf(NAME ": Device filesystem already mounted\n");
     113                devmap_null_destroy(null_id);
    104114                return false;
    105115        case ELIMIT:
    106116                printf(NAME ": Unable to mount device filesystem\n");
     117                devmap_null_destroy(null_id);
    107118                return false;
    108119        case ENOENT:
    109120                printf(NAME ": Unknown filesystem type (devfs)\n");
     121                devmap_null_destroy(null_id);
    110122                return false;
    111123        default:
    112124                printf(NAME ": Error mounting device filesystem (%d)\n", rc);
     125                devmap_null_destroy(null_id);
    113126                return false;
    114127        }
     
    171184{
    172185        char *argv[3];
    173         char hid_in[DEVMAP_NAME_MAXLEN];
     186        char hid_in[MAX_DEVICE_NAME];
    174187        int rc;
    175188       
    176         snprintf(hid_in, DEVMAP_NAME_MAXLEN, "%s/%s", DEVFS_MOUNT_POINT, dev);
     189        snprintf(hid_in, MAX_DEVICE_NAME, "%s/%s", DEVFS_MOUNT_POINT, dev);
    177190       
    178191        printf(NAME ": Spawning %s with %s\n", SRV_CONSOLE, hid_in);
     
    196209{
    197210        char *argv[4];
    198         char term[DEVMAP_NAME_MAXLEN];
     211        char term[MAX_DEVICE_NAME];
    199212        int rc;
    200213       
    201         snprintf(term, DEVMAP_NAME_MAXLEN, "%s/%s", DEVFS_MOUNT_POINT, dev);
     214        snprintf(term, MAX_DEVICE_NAME, "%s/%s", DEVFS_MOUNT_POINT, dev);
    202215       
    203216        printf(NAME ": Spawning %s with %s %s\n", APP_GETTERM, term, app);
     
    220233}
    221234
    222 static void mount_scratch(void)
    223 {
    224         int rc;
    225 
    226         printf("Trying to mount null/0 on /scratch... ");
    227         fflush(stdout);
    228 
    229         rc = mount("tmpfs", "/scratch", "null/0", "", 0);
    230         if (rc == EOK)
    231                 printf("OK\n");
    232         else
    233                 printf("Failed\n");
    234 }
    235 
    236235static void mount_data(void)
    237236{
     
    256255                return -1;
    257256        }
    258 
    259         /* Make sure tmpfs is running. */
    260         if (str_cmp(STRING(RDFMT), "tmpfs") != 0) {
    261                 spawn("/srv/tmpfs");
    262         }
    263257       
    264258        spawn("/srv/devfs");
    265         spawn("/srv/taskmon");
    266259       
    267260        if (!mount_devfs()) {
     
    269262                return -2;
    270263        }
    271 
    272         mount_scratch();
    273264       
    274265        spawn("/srv/fhc");
    275266        spawn("/srv/obio");
    276         srv_start("/srv/cuda_adb");
    277267        srv_start("/srv/i8042");
    278         srv_start("/srv/adb_ms");
    279         srv_start("/srv/char_ms");
     268        srv_start("/srv/c_mouse");
    280269
    281270        spawn("/srv/fb");
     
    309298        getterm("term/vc5", "/app/bdsh");
    310299        getterm("term/vc6", "/app/klog");
    311 
     300       
    312301        return 0;
    313302}
Note: See TracChangeset for help on using the changeset viewer.