diff options
author | David Anderson <dvander@google.com> | 2018-11-08 17:43:50 -0800 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-11-08 17:43:50 -0800 |
commit | 95603826d453b93c2bb4e3e3510e43883a2e3c1a (patch) | |
tree | fd50dd8ba8db16c7246f5174fb6b7ea9b24a0c8b | |
parent | ddbd38b82584e4023c00e896783e7415bf029e1f (diff) | |
parent | 2d629b3c5f7c89ddf81429332b49970e22ca10a8 (diff) | |
download | extras-95603826d453b93c2bb4e3e3510e43883a2e3c1a.tar.gz |
Merge "lpmake: Allow writing split super images." am: 14a93639fd
am: 2d629b3c5f
Change-Id: Icc46451b678c50f67768ecd1619ef69e2ec33f5a
-rw-r--r-- | partition_tools/lpdump.cc | 6 | ||||
-rw-r--r-- | partition_tools/lpmake.cc | 10 |
2 files changed, 10 insertions, 6 deletions
diff --git a/partition_tools/lpdump.cc b/partition_tools/lpdump.cc index 689ffb13..e3689d23 100644 --- a/partition_tools/lpdump.cc +++ b/partition_tools/lpdump.cc @@ -84,10 +84,8 @@ int main(int argc, char* argv[]) { } const char* file = argv[optind++]; - std::unique_ptr<LpMetadata> pt; - if (IsBlockDevice(file)) { - pt = ReadMetadata(file, slot); - } else { + auto pt = ReadMetadata(file, slot); + if (!pt && !IsBlockDevice(file)) { pt = ReadFromImageFile(file); } if (!pt) { diff --git a/partition_tools/lpmake.cc b/partition_tools/lpmake.cc index 7a2ba518..1c11c4d2 100644 --- a/partition_tools/lpmake.cc +++ b/partition_tools/lpmake.cc @@ -352,8 +352,14 @@ int main(int argc, char* argv[]) { std::unique_ptr<LpMetadata> metadata = builder->Export(); if (output_sparse) { - if (!WriteToSparseFile(output_path.c_str(), *metadata.get(), block_size, images)) { - return EX_CANTCREAT; + if (block_devices.size() == 1) { + if (!WriteToSparseFile(output_path.c_str(), *metadata.get(), block_size, images)) { + return EX_CANTCREAT; + } + } else { + if (!WriteSplitSparseFiles(output_path, *metadata.get(), block_size, images)) { + return EX_CANTCREAT; + } } } else if (!WriteToImageFile(output_path.c_str(), *metadata.get())) { return EX_CANTCREAT; |