summaryrefslogtreecommitdiff
path: root/partition_installer.h
diff options
context:
space:
mode:
authorHoward Chen <howardsoc@google.com>2019-11-08 11:57:47 +0800
committerHoward Chen <howardsoc@google.com>2020-01-14 03:56:41 +0000
commitee5c2b14b2f7c1ffbbcc7c6261aa3b5f79362959 (patch)
tree3a6a46fa5a3e6353feabdf15de005586748e2d12 /partition_installer.h
parentaf1a6ad869b508c28768c15ac3abb15580b7a03e (diff)
downloadgsid-ee5c2b14b2f7c1ffbbcc7c6261aa3b5f79362959.tar.gz
Support multiple DSU installations
Bug: 144247097 Test: adb shell gsi_tool install --gsi-size $(du -b system.raw|cut -f1) < system.raw Change-Id: I17f4292fc3038040cc5848ce00081e96c79ae769
Diffstat (limited to 'partition_installer.h')
-rw-r--r--partition_installer.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/partition_installer.h b/partition_installer.h
index 787eda4..830c034 100644
--- a/partition_installer.h
+++ b/partition_installer.h
@@ -39,7 +39,7 @@ class PartitionInstaller final {
public:
// Constructor for a new GSI installation.
PartitionInstaller(GsiService* service, const std::string& installDir, const std::string& name,
- int64_t size, bool read_only);
+ const std::string& active_dsu, int64_t size, bool read_only);
~PartitionInstaller();
// Methods for a clean GSI install.
@@ -49,7 +49,8 @@ class PartitionInstaller final {
bool MapAshmem(int fd, size_t size);
bool CommitGsiChunk(size_t bytes);
- static int WipeWritable(const std::string& install_dir, const std::string& name);
+ static int WipeWritable(const std::string& active_dsu, const std::string& install_dir,
+ const std::string& name);
// Clean up install state if gsid crashed and restarted.
void PostInstallCleanup();
@@ -74,6 +75,7 @@ class PartitionInstaller final {
std::string install_dir_;
std::string name_;
+ std::string active_dsu_;
std::unique_ptr<ImageManager> images_;
uint64_t size_ = 0;
bool readOnly_;