From a79bc0d1b3c8a89ba4fd529d45e348f57e893688 Mon Sep 17 00:00:00 2001 From: Yi-Yo Chiang Date: Sat, 22 May 2021 00:35:09 +0800 Subject: [PATCH] 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 Merged-In: I6d6abd44ab32afadec428005f4aece834f9c8905 (cherry picked from commit 7b81023e2a0d48c5e919bb314990555db37bf21e) --- fs_mgr/fs_mgr_fstab.cpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/fs_mgr/fs_mgr_fstab.cpp b/fs_mgr/fs_mgr_fstab.cpp index 853b24d8b..d0c89b909 100644 --- a/fs_mgr/fs_mgr_fstab.cpp +++ b/fs_mgr/fs_mgr_fstab.cpp @@ -127,15 +127,16 @@ void ParseMountFlags(const std::string& flags, FstabEntry* entry) { } 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 @@ void ParseFsMgrFlags(const std::string& flags, FstabEntry* entry) { 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; }