summaryrefslogtreecommitdiffstats
path: root/updater/simulator_runtime.cpp
diff options
context:
space:
mode:
authorTianjie Xu <xunchang@google.com>2019-05-25 01:08:45 +0200
committerTianjie Xu <xunchang@google.com>2019-06-24 21:46:28 +0200
commitd118833f3e55f94d1dad416c6facddb3e2d48297 (patch)
tree243fd7f70609ed48db16afc298e2659e77b0059b /updater/simulator_runtime.cpp
parentMerge "Support starting fuse from a block map" (diff)
downloadandroid_bootable_recovery-d118833f3e55f94d1dad416c6facddb3e2d48297.tar
android_bootable_recovery-d118833f3e55f94d1dad416c6facddb3e2d48297.tar.gz
android_bootable_recovery-d118833f3e55f94d1dad416c6facddb3e2d48297.tar.bz2
android_bootable_recovery-d118833f3e55f94d1dad416c6facddb3e2d48297.tar.lz
android_bootable_recovery-d118833f3e55f94d1dad416c6facddb3e2d48297.tar.xz
android_bootable_recovery-d118833f3e55f94d1dad416c6facddb3e2d48297.tar.zst
android_bootable_recovery-d118833f3e55f94d1dad416c6facddb3e2d48297.zip
Diffstat (limited to 'updater/simulator_runtime.cpp')
-rw-r--r--updater/simulator_runtime.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/updater/simulator_runtime.cpp b/updater/simulator_runtime.cpp
index c3b3d951c..c8718c71a 100644
--- a/updater/simulator_runtime.cpp
+++ b/updater/simulator_runtime.cpp
@@ -22,6 +22,8 @@
#include <sys/wait.h>
#include <unistd.h>
+#include <unordered_set>
+
#include <android-base/file.h>
#include <android-base/logging.h>
#include <android-base/properties.h>
@@ -95,3 +97,32 @@ bool SimulatorRuntime::WriteStringToFile(const std::string_view content,
LOG(INFO) << "SKip writing " << content.size() << " bytes to file " << filename;
return true;
}
+
+bool SimulatorRuntime::MapPartitionOnDeviceMapper(const std::string& partition_name,
+ std::string* path) {
+ *path = partition_name;
+ return true;
+}
+
+bool SimulatorRuntime::UnmapPartitionOnDeviceMapper(const std::string& partition_name) {
+ LOG(INFO) << "Skip unmapping " << partition_name;
+ return true;
+}
+
+bool SimulatorRuntime::UpdateDynamicPartitions(const std::string_view op_list_value) {
+ const std::unordered_set<std::string> commands{
+ "resize", "remove", "add", "move",
+ "add_group", "resize_group", "remove_group", "remove_all_groups",
+ };
+
+ std::vector<std::string> lines = android::base::Split(std::string(op_list_value), "\n");
+ for (const auto& line : lines) {
+ if (line.empty() || line[0] == '#') continue;
+ auto tokens = android::base::Split(line, " ");
+ if (commands.find(tokens[0]) == commands.end()) {
+ LOG(ERROR) << "Unknown operation in op_list: " << line;
+ return false;
+ }
+ }
+ return true;
+}