cleanups for tar and /data/media support

Change-Id: I4afe3a8d4484f91b1e689d7b3aa4f137acd66e93
This commit is contained in:
Koushik Dutta 2011-06-14 23:39:59 -07:00
parent 7126ef404c
commit 55e5e7b59a
3 changed files with 11 additions and 13 deletions

View File

@ -26,7 +26,7 @@ LOCAL_MODULE := recovery
LOCAL_FORCE_STATIC_EXECUTABLE := true
RECOVERY_VERSION := ClockworkMod Recovery v4.0.0.2
RECOVERY_VERSION := ClockworkMod Recovery v4.0.0.3
LOCAL_CFLAGS += -DRECOVERY_VERSION="$(RECOVERY_VERSION)"
RECOVERY_API_VERSION := 2
LOCAL_CFLAGS += -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION)

View File

@ -98,13 +98,13 @@ static void compute_directory_stats(const char* directory)
}
typedef void (*file_event_callback)(const char* filename);
typedef int (*nandroid_backup_handler)(const char* backup_path, const char* backup_file_image, const file_event_callback callback);
typedef int (*nandroid_backup_handler)(const char* backup_path, const char* backup_file_image, int callback);
static int mkyaffs2image_wrapper(const char* backup_path, const char* backup_file_image, const file_event_callback callback) {
static int mkyaffs2image_wrapper(const char* backup_path, const char* backup_file_image, int callback) {
return mkyaffs2image(backup_path, backup_file_image, 0, callback);
}
static int tar_compress_wrapper(const char* backup_path, const char* backup_file_image, const file_event_callback callback) {
static int tar_compress_wrapper(const char* backup_path, const char* backup_file_image, int callback) {
char tmp[PATH_MAX];
if (strcmp(backup_path, "/data") == 0 && volume_for_path("/sdcard") == NULL)
sprintf(tmp, "cd $(dirname %s) ; tar cvf %s --exclude 'media' $(basename %s) ; exit $?", backup_path, backup_file_image, backup_path);
@ -119,7 +119,7 @@ static int tar_compress_wrapper(const char* backup_path, const char* backup_file
while (fgets(tmp, PATH_MAX, fp) != NULL) {
tmp[PATH_MAX - 1] = NULL;
if (NULL != callback)
if (callback)
yaffs_callback(tmp);
}
@ -163,10 +163,7 @@ int nandroid_backup_partition_extended(const char* backup_path, const char* moun
char* name = basename(mount_point);
struct stat file_info;
file_event_callback callback = NULL;
if (0 != stat("/sdcard/clockworkmod/.hidenandroidprogress", &file_info)) {
callback = yaffs_callback;
}
int callback = stat("/sdcard/clockworkmod/.hidenandroidprogress", &file_info) == 0;
ui_print("Backing up %s...\n", name);
if (0 != (ret = ensure_path_mounted(mount_point) != 0)) {
@ -388,10 +385,7 @@ int nandroid_restore_partition_extended(const char* backup_path, const char* mou
ensure_directory(mount_point);
file_event_callback callback = NULL;
if (0 != stat("/sdcard/clockworkmod/.hidenandroidprogress", &file_info)) {
callback = yaffs_callback;
}
int callback = stat("/sdcard/clockworkmod/.hidenandroidprogress", &file_info) == 0;
ui_print("Restoring %s...\n", name);
/*

View File

@ -286,6 +286,10 @@ int ensure_path_unmounted(const char* path) {
int format_volume(const char* volume) {
Volume* v = volume_for_path(volume);
if (v == NULL) {
// no /sdcard? let's assume /data/media
if (strstr(path, "/sdcard") == path && is_data_media()) {
return format_unknown_device(volume);
}
// silent failure for sd-ext
if (strcmp(volume, "/sd-ext") == 0)
return -1;