Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6b001d86 authored by San Mehat's avatar San Mehat Committed by Android Git Automerger
Browse files

am 1f278215: vold: If we\'re bootstrapping, don\'t automatically mount the SD...

am 1f278215: vold: If we\'re bootstrapping, don\'t automatically mount the SD card. Also fixes some error display bugs (our printf doesnt support %m)

Merge commit '1f278215'

* commit '1f278215':
  vold: If we're bootstrapping, don't automatically mount the SD card. Also fixes some
parents c0334b18 1f278215
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ int blkdev_refresh(blkdev_t *blk)
    }

    if (ioctl(fd, BLKGETSIZE, &blk->nr_sec)) {
        LOGE("Unable to get device size (%m)");
        LOGE("Unable to get device size (%s)", strerror(errno));
        return -errno;
    }
    close(fd);
+12 −9
Original line number Diff line number Diff line
@@ -43,7 +43,8 @@ int mmc_bootstrap()
    struct dirent *de;

    if (!(d = opendir(SYSFS_CLASS_MMC_PATH))) {
        LOG_ERROR("Unable to open '%s' (%m)", SYSFS_CLASS_MMC_PATH);
        LOG_ERROR("Unable to open '%s' (%s)", SYSFS_CLASS_MMC_PATH,
                  strerror(errno));
        return -errno;
    }

@@ -54,8 +55,10 @@ int mmc_bootstrap()
            continue;

        sprintf(tmp, "%s/%s", SYSFS_CLASS_MMC_PATH, de->d_name);
        if (mmc_bootstrap_controller(tmp))
            LOG_ERROR("Error bootstrapping controller '%s' (%m)", tmp);
        if (mmc_bootstrap_controller(tmp)) {
            LOG_ERROR("Error bootstrapping controller '%s' (%s)", tmp,
                      strerror(errno));
        }
    }

    closedir(d);
@@ -72,7 +75,7 @@ static int mmc_bootstrap_controller(char *sysfs_path)
    LOG_VOL("bootstrap_controller(%s):", sysfs_path);
#endif
    if (!(d = opendir(sysfs_path))) {
        LOG_ERROR("Unable to open '%s' (%m)", sysfs_path);
        LOG_ERROR("Unable to open '%s' (%s)", sysfs_path, strerror(errno));
        return -errno;
    }

@@ -92,7 +95,7 @@ static int mmc_bootstrap_controller(char *sysfs_path)
        sprintf(tmp, "%s/%s", sysfs_path, de->d_name);

        if (mmc_bootstrap_card(tmp) < 0)
            LOG_ERROR("Error bootstrapping card '%s' (%m)", tmp);
            LOG_ERROR("Error bootstrapping card '%s' (%s)", tmp, strerror(errno));
    } // while

    closedir(d);
@@ -123,7 +126,7 @@ static int mmc_bootstrap_card(char *sysfs_path)
    }
    
    if (chdir(sysfs_path) < 0) {
        LOGE("Unable to chdir to %s (%m)", sysfs_path);
        LOGE("Unable to chdir to %s (%s)", sysfs_path, strerror(errno));
        return -errno;
    }

@@ -162,7 +165,7 @@ static int mmc_bootstrap_card(char *sysfs_path)
    uevent_params[3] = (char *) NULL;

    if (simulate_uevent("mmc", devpath, "add", uevent_params) < 0) {
        LOGE("Error simulating uevent (%m)");
        LOGE("Error simulating uevent (%s)", strerror(errno));
        return -errno;
    }

@@ -264,7 +267,7 @@ static int mmc_bootstrap_mmcblk_partition(char *devpath)

    sprintf(filename, "/sys%s/uevent", devpath);
    if (!(fp = fopen(filename, "r"))) {
        LOGE("Unable to open '%s' (%m)", filename);
        LOGE("Unable to open '%s' (%s)", filename, strerror(errno));
        return -errno;
    }

@@ -286,7 +289,7 @@ static int mmc_bootstrap_mmcblk_partition(char *devpath)
    uevent_params[4] = '\0';
    
    if (simulate_uevent("block", devpath, "add", uevent_params) < 0) {
        LOGE("Error simulating uevent (%m)");
        LOGE("Error simulating uevent (%s)", strerror(errno));
        return -errno;
    }
    return 0;
+6 −3
Original line number Diff line number Diff line
@@ -35,7 +35,8 @@ int switch_bootstrap()
    struct dirent *de;

    if (!(d = opendir(SYSFS_CLASS_SWITCH_PATH))) {
        LOG_ERROR("Unable to open '%s' (%m)", SYSFS_CLASS_SWITCH_PATH);
        LOG_ERROR("Unable to open '%s' (%s)", SYSFS_CLASS_SWITCH_PATH,
                   strerror(errno));
        return -errno;
    }

@@ -46,8 +47,10 @@ int switch_bootstrap()
            continue;

        sprintf(tmp, "%s/%s", SYSFS_CLASS_SWITCH_PATH, de->d_name);
        if (mmc_bootstrap_switch(tmp))
            LOG_ERROR("Error bootstrapping switch '%s' (%m)", tmp);
        if (mmc_bootstrap_switch(tmp)) {
            LOG_ERROR("Error bootstrapping switch '%s' (%s)", tmp,
                      strerror(errno));
        }
    }

    closedir(d);
+8 −4
Original line number Diff line number Diff line
@@ -333,7 +333,7 @@ static int handle_block_event(struct uevent *event)
                                     min,
                                     media,
                                     get_uevent_param(event, "DEVTYPE")))) {
            LOGE("Unable to allocate new blkdev (%m)");
            LOGE("Unable to allocate new blkdev (%s)", strerror(errno));
            return -1;
        }

@@ -354,10 +354,14 @@ static int handle_block_event(struct uevent *event)

        if (blkdev_get_num_pending_partitions(blkdev->disk) == 0) {
            if ((rc = volmgr_consider_disk(blkdev->disk)) < 0) {
                if (rc == -EBUSY) {
                    LOGI("Volmgr not ready to handle device");
                } else {
                    LOGE("Volmgr failed to handle device (%d)", rc);
                    return rc;
                }
            }
        }
    } else if (event->action == action_remove) {
        if (!(blkdev = blkdev_lookup_by_devno(maj, min)))
            return 0;
@@ -414,7 +418,7 @@ static int handle_mmc_event(struct uevent *event)
                                   get_uevent_param(event, "MMC_NAME"),
                                   serial,
                                   media_mmc))) {
            LOGE("Unable to allocate new media (%m)");
            LOGE("Unable to allocate new media (%s)", strerror(errno));
            return -1;
        }
        LOGI("New MMC card '%s' (serial %u) added @ %s", media->name,
+4 −0
Original line number Diff line number Diff line
@@ -53,6 +53,8 @@ static int ver_minor = 0;
static pthread_mutex_t write_mutex = PTHREAD_MUTEX_INITIALIZER;
static int fw_sock = -1;

int bootstrap = 0;

int main(int argc, char **argv)
{
    int door_sock = -1;
@@ -108,6 +110,7 @@ int main(int argc, char **argv)
     * Bootstrap 
     */

    bootstrap = 1;
    // Volume Manager
    volmgr_bootstrap();

@@ -120,6 +123,7 @@ int main(int argc, char **argv)
    // Switch
    switch_bootstrap();

    bootstrap = 0;
    /*
     * Main loop
     */
Loading