aboutsummaryrefslogtreecommitdiffstats
path: root/vl-android.c
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@android.com>2011-02-28 23:23:05 +0100
committerDavid 'Digit' Turner <digit@android.com>2011-03-01 15:31:11 +0100
commit5f64b873605baa5519211b0d47a53c93df9d4868 (patch)
tree23ea128d213d62715a38705678b8502f5ddd7e7d /vl-android.c
parent48a3c66361158678f476fc7c2eca2bef025eae62 (diff)
downloadexternal_qemu-5f64b873605baa5519211b0d47a53c93df9d4868.zip
external_qemu-5f64b873605baa5519211b0d47a53c93df9d4868.tar.gz
external_qemu-5f64b873605baa5519211b0d47a53c93df9d4868.tar.bz2
Move snapshot storage initialization to the core.
Change-Id: I2c2b782fe4711cc8c323433e7976222b878cf679
Diffstat (limited to 'vl-android.c')
-rw-r--r--vl-android.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/vl-android.c b/vl-android.c
index d07b6c0..04fed59 100644
--- a/vl-android.c
+++ b/vl-android.c
@@ -3775,6 +3775,7 @@ int main(int argc, char **argv, char **envp)
DisplayChangeListener *dcl;
int cyls, heads, secs, translation;
QemuOpts *hda_opts = NULL;
+ QemuOpts *hdb_opts = NULL;
const char *net_clients[MAX_NET_CLIENTS];
int nb_net_clients;
const char *bt_opts[MAX_BT_CMDLINE];
@@ -3987,6 +3988,9 @@ int main(int argc, char **argv, char **envp)
",trans=none" : "");
break;
case QEMU_OPTION_hdb:
+ hdb_opts = drive_add(optarg, HD_ALIAS, 1);
+ break;
+
case QEMU_OPTION_hdc:
case QEMU_OPTION_hdd:
drive_add(optarg, HD_ALIAS, popt->index - QEMU_OPTION_hda);
@@ -4853,6 +4857,19 @@ int main(int argc, char **argv, char **envp)
}
}
+ if (hdb_opts == NULL) {
+ const char* spath = android_hw->disk_snapStorage_path;
+ if (spath && *spath) {
+ if (!path_exists(spath)) {
+ PANIC("Snapshot storage file does not exist: %s", spath);
+ }
+ if (filelock_create(spath) == NULL) {
+ PANIC("Snapshot storag already in use: %s", spath);
+ }
+ hdb_opts = drive_add(spath, HD_ALIAS, 1);
+ }
+ }
+
/* Set the VM's max heap size, passed as a boot property */
if (android_hw->vm_heapSize > 0) {
char tmp[64];