Merge "Add android::fs_mgr namespace for new Fstab code"
diff --git a/Android.bp b/Android.bp
index 41075d2..afa0337 100644
--- a/Android.bp
+++ b/Android.bp
@@ -45,6 +45,7 @@
     static_libs: [
         "libminui",
         "libotautil",
+        "libfstab",
     ],
 
     shared_libs: [
@@ -157,6 +158,7 @@
         "libhealthhalutils",
         "libvintf_recovery",
         "libvintf",
+        "libfstab",
     ],
 }
 
@@ -260,6 +262,7 @@
 
     static_libs: [
         "libotautil",
+        "libfstab",
     ],
 
     init_rc: [
@@ -287,6 +290,7 @@
 
     static_libs: [
         "libotautil",
+        "libfstab",
     ],
 
     init_rc: [
diff --git a/bootloader_message/bootloader_message.cpp b/bootloader_message/bootloader_message.cpp
index b933cbf..8c1d63b 100644
--- a/bootloader_message/bootloader_message.cpp
+++ b/bootloader_message/bootloader_message.cpp
@@ -29,6 +29,9 @@
 #include <android-base/unique_fd.h>
 #include <fstab/fstab.h>
 
+using android::fs_mgr::Fstab;
+using android::fs_mgr::ReadDefaultFstab;
+
 static std::string get_misc_blk_device(std::string* err) {
   Fstab fstab;
   if (!ReadDefaultFstab(&fstab)) {
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.
diff --git a/roots.h b/roots.h
index 341f905..7b031a1 100644
--- a/roots.h
+++ b/roots.h
@@ -19,7 +19,9 @@
 
 #include <string>
 
-typedef struct FstabEntry Volume;
+#include <fstab/fstab.h>
+
+using Volume = android::fs_mgr::FstabEntry;
 
 // Load and parse volume data from /etc/recovery.fstab.
 void load_volume_table();
diff --git a/uncrypt/uncrypt.cpp b/uncrypt/uncrypt.cpp
index 75595ac..f1f4f69 100644
--- a/uncrypt/uncrypt.cpp
+++ b/uncrypt/uncrypt.cpp
@@ -119,6 +119,9 @@
 
 #include "otautil/error_code.h"
 
+using android::fs_mgr::Fstab;
+using android::fs_mgr::ReadDefaultFstab;
+
 static constexpr int WINDOW_SIZE = 5;
 static constexpr int FIBMAP_RETRY_LIMIT = 3;