diff options
author | David 'Digit' Turner <digit@android.com> | 2011-02-28 23:23:05 +0100 |
---|---|---|
committer | David 'Digit' Turner <digit@android.com> | 2011-03-01 15:31:11 +0100 |
commit | 5f64b873605baa5519211b0d47a53c93df9d4868 (patch) | |
tree | 23ea128d213d62715a38705678b8502f5ddd7e7d /vl-android.c | |
parent | 48a3c66361158678f476fc7c2eca2bef025eae62 (diff) | |
download | external_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.c | 17 |
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]; |