fs_mgr_fstab: Parse overlayfs options from fs flags
Parse the "lowerdir=" option from fs mount flags instead of fs_mgr flags
for consistency.
Before:
none /mnt/product/test1 overlay ro lowerdir=/1:/2,first_stage_mount
After:
none /mnt/product/test1 overlay ro,lowerdir=/1:/2 first_stage_mount
Bug: 188862155
Test: Boot to normal with overlayfs mount entries in first stage fstab
Change-Id: I6d6abd44ab32afadec428005f4aece834f9c8905
diff --git a/fs_mgr/fs_mgr_fstab.cpp b/fs_mgr/fs_mgr_fstab.cpp
index 853b24d..d0c89b9 100644
--- a/fs_mgr/fs_mgr_fstab.cpp
+++ b/fs_mgr/fs_mgr_fstab.cpp
@@ -127,15 +127,16 @@
}
fs_options.append(flag);
- if (entry->fs_type == "f2fs" && StartsWith(flag, "reserve_root=")) {
- std::string arg;
- if (auto equal_sign = flag.find('='); equal_sign != std::string::npos) {
- arg = flag.substr(equal_sign + 1);
- }
- if (!ParseInt(arg, &entry->reserved_size)) {
- LWARNING << "Warning: reserve_root= flag malformed: " << arg;
- } else {
- entry->reserved_size <<= 12;
+ if (auto equal_sign = flag.find('='); equal_sign != std::string::npos) {
+ const auto arg = flag.substr(equal_sign + 1);
+ if (entry->fs_type == "f2fs" && StartsWith(flag, "reserve_root=")) {
+ if (!ParseInt(arg, &entry->reserved_size)) {
+ LWARNING << "Warning: reserve_root= flag malformed: " << arg;
+ } else {
+ entry->reserved_size <<= 12;
+ }
+ } else if (StartsWith(flag, "lowerdir=")) {
+ entry->lowerdir = std::move(arg);
}
}
}
@@ -298,8 +299,6 @@
if (!ParseByteCount(arg, &entry->zram_backingdev_size)) {
LWARNING << "Warning: zram_backingdev_size= flag malformed: " << arg;
}
- } else if (StartsWith(flag, "lowerdir=")) {
- entry->lowerdir = arg;
} else {
LWARNING << "Warning: unknown flag: " << flag;
}