Add android::fs_mgr namespace for new Fstab code
Also add libfstab dependencies where needed. Previously the
`typedef struct FstabEntry Volume;` line served to both define a
`struct FstabEntry` as well as alias Volume to it. With the new
namespace for android::fs_mgr::FstabEntry, `struct FstabEntry` isn't
compatible anymore, so we need to alias Volume to the real
android::fs_mgr::FstabEntry.
In doing so, we need to include <fstab/fstab.h> and this requires
libfstab as a library, which a few modules did not have before.
Test: treehugger
Change-Id: I655209a0efb304b3e0568db0748bd5cf7cecbdb7
diff --git a/roots.cpp b/roots.cpp
index 290be47..7a922b8 100644
--- a/roots.cpp
+++ b/roots.cpp
@@ -45,6 +45,10 @@
#include "otautil/mounts.h"
#include "otautil/sysutil.h"
+using android::fs_mgr::Fstab;
+using android::fs_mgr::FstabEntry;
+using android::fs_mgr::ReadDefaultFstab;
+
static Fstab fstab;
extern struct selabel_handle* sehandle;
@@ -69,10 +73,7 @@
}
Volume* volume_for_mount_point(const std::string& mount_point) {
- auto it = std::find_if(fstab.begin(), fstab.end(), [&mount_point](const auto& entry) {
- return entry.mount_point == mount_point;
- });
- return it == fstab.end() ? nullptr : &*it;
+ return android::fs_mgr::GetEntryForMountPoint(&fstab, mount_point);
}
// Mount the volume specified by path at the given mount_point.