Loading roots.cpp +14 −1 Original line number Diff line number Diff line Loading @@ -102,7 +102,20 @@ int ensure_path_mounted_at(const char* path, const char* mount_point) { if (strcmp(v->fs_type, "ext4") == 0 || strcmp(v->fs_type, "squashfs") == 0 || strcmp(v->fs_type, "vfat") == 0) { if (mount(v->blk_device, mount_point, v->fs_type, v->flags, v->fs_options) == -1) { int result = mount(v->blk_device, mount_point, v->fs_type, v->flags, v->fs_options); if (result == -1 && fs_mgr_is_formattable(v)) { LOGE("failed to mount %s (%s), formatting ...\n", mount_point, strerror(errno)); bool crypt_footer = fs_mgr_is_encryptable(v) && !strcmp(v->key_loc, "footer"); if (fs_mgr_do_format(v, crypt_footer) == 0) { result = mount(v->blk_device, mount_point, v->fs_type, v->flags, v->fs_options); } else { LOGE("failed to format %s (%s)\n", mount_point, strerror(errno)); return -1; } } if (result == -1) { LOGE("failed to mount %s (%s)\n", mount_point, strerror(errno)); return -1; } Loading Loading
roots.cpp +14 −1 Original line number Diff line number Diff line Loading @@ -102,7 +102,20 @@ int ensure_path_mounted_at(const char* path, const char* mount_point) { if (strcmp(v->fs_type, "ext4") == 0 || strcmp(v->fs_type, "squashfs") == 0 || strcmp(v->fs_type, "vfat") == 0) { if (mount(v->blk_device, mount_point, v->fs_type, v->flags, v->fs_options) == -1) { int result = mount(v->blk_device, mount_point, v->fs_type, v->flags, v->fs_options); if (result == -1 && fs_mgr_is_formattable(v)) { LOGE("failed to mount %s (%s), formatting ...\n", mount_point, strerror(errno)); bool crypt_footer = fs_mgr_is_encryptable(v) && !strcmp(v->key_loc, "footer"); if (fs_mgr_do_format(v, crypt_footer) == 0) { result = mount(v->blk_device, mount_point, v->fs_type, v->flags, v->fs_options); } else { LOGE("failed to format %s (%s)\n", mount_point, strerror(errno)); return -1; } } if (result == -1) { LOGE("failed to mount %s (%s)\n", mount_point, strerror(errno)); return -1; } Loading