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
This commit is contained in:
Tom Cherry
2019-01-31 09:00:40 -08:00
parent 9a54dd3bf9
commit 72a114a3e1
5 changed files with 18 additions and 5 deletions
+5 -4
View File
@@ -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 @@ void load_volume_table() {
}
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.