diff options
| author | Paul Lawrence <paullawrence@google.com> | 2018-08-30 11:09:17 -0700 |
|---|---|---|
| committer | Paul Lawrence <paullawrence@google.com> | 2018-10-02 10:12:30 -0700 |
| commit | 8a9c294f3781320e093357f054561a3fd7d8685f (patch) | |
| tree | bb74679c4c222a2bd34740a8932269d2b03d0a24 | |
| parent | dcee6d22fb083cbf5f8cc2a6e442bef316c3843e (diff) | |
| download | system_core-8a9c294f3781320e093357f054561a3fd7d8685f.tar.gz system_core-8a9c294f3781320e093357f054561a3fd7d8685f.tar.bz2 system_core-8a9c294f3781320e093357f054561a3fd7d8685f.zip | |
Adding bow dm-target
Test: Can load with dm-ctl
Change-Id: I0c6a750340fa6babcfa0f72b66c18a0b3eacd9d8
| -rw-r--r-- | fs_mgr/libdm/include/libdm/dm_target.h | 12 | ||||
| -rw-r--r-- | fs_mgr/tools/dmctl.cpp | 8 |
2 files changed, 20 insertions, 0 deletions
diff --git a/fs_mgr/libdm/include/libdm/dm_target.h b/fs_mgr/libdm/include/libdm/dm_target.h index aab89e5f0..3fde95a4a 100644 --- a/fs_mgr/libdm/include/libdm/dm_target.h +++ b/fs_mgr/libdm/include/libdm/dm_target.h @@ -156,6 +156,18 @@ class DmTargetVerityString final : public DmTarget { std::string target_string_; }; +class DmTargetBow final : public DmTarget { + public: + DmTargetBow(uint64_t start, uint64_t length, const std::string& target_string) + : DmTarget(start, length), target_string_(target_string) {} + + std::string name() const override { return "bow"; } + std::string GetParameterString() const override { return target_string_; } + + private: + std::string target_string_; +}; + } // namespace dm } // namespace android diff --git a/fs_mgr/tools/dmctl.cpp b/fs_mgr/tools/dmctl.cpp index 879ba2101..f78093bdf 100644 --- a/fs_mgr/tools/dmctl.cpp +++ b/fs_mgr/tools/dmctl.cpp @@ -42,6 +42,7 @@ using DmTarget = ::android::dm::DmTarget; using DmTargetLinear = ::android::dm::DmTargetLinear; using DmTargetZero = ::android::dm::DmTargetZero; using DmTargetAndroidVerity = ::android::dm::DmTargetAndroidVerity; +using DmTargetBow = ::android::dm::DmTargetBow; using DmTargetTypeInfo = ::android::dm::DmTargetTypeInfo; using DmBlockDevice = ::android::dm::DeviceMapper::DmBlockDevice; @@ -108,6 +109,13 @@ class TargetParser final { std::string block_device = NextArg(); return std::make_unique<DmTargetAndroidVerity>(start_sector, num_sectors, keyid, block_device); + } else if (target_type == "bow") { + if (!HasArgs(1)) { + std::cerr << "Expected \"bow\" <block_device>" << std::endl; + return nullptr; + } + std::string block_device = NextArg(); + return std::make_unique<DmTargetBow>(start_sector, num_sectors, block_device); } else { std::cerr << "Unrecognized target type: " << target_type << std::endl; return nullptr; |
