Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dea6f7c2 authored by David Anderson's avatar David Anderson
Browse files

Fix overlayfs on page cf page agnostic builds.

Hardcode 4096 block size for f2fs on x86/64.

Bug: 375531898
Test: adb_remount_test.sh
Change-Id: I9b55f7caf1b77f235168664be2f310bb3bb0d179
parent c7cad438
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -2314,6 +2314,14 @@ std::string fs_mgr_get_context(const std::string& mount_point) {
    return context;
}

int fs_mgr_f2fs_ideal_block_size() {
#if defined(__i386__) || defined(__x86_64__)
    return 4096;
#else
    return getpagesize();
#endif
}

namespace android {
namespace fs_mgr {

+1 −3
Original line number Diff line number Diff line
@@ -387,10 +387,8 @@ bool MakeScratchFilesystem(const std::string& scratch_device) {
    auto command = ""s;
    if (!access(kMkF2fs, X_OK) && fs_mgr_filesystem_available("f2fs")) {
        fs_type = "f2fs";
        command = kMkF2fs + " -w "s;
        command += std::to_string(getpagesize());
        command = kMkF2fs + " -b "s;
        command += std::to_string(getpagesize());
        command += std::to_string(fs_mgr_f2fs_ideal_block_size());
        command += " -f -d1 -l" + android::base::Basename(kScratchMountPoint);
    } else if (!access(kMkExt4, X_OK) && fs_mgr_filesystem_available("ext4")) {
        fs_type = "ext4";
+3 −0
Original line number Diff line number Diff line
@@ -137,3 +137,6 @@ bool fs_mgr_mount_overlayfs_fstab_entry(const android::fs_mgr::FstabEntry& entry
// File name used to track if encryption was interrupted, leading to a known bad fs state
std::string fs_mgr_metadata_encryption_in_progress_file_name(
        const android::fs_mgr::FstabEntry& entry);

// Returns the ideal block size for make_f2fs. Returns -1 on failure.
int fs_mgr_f2fs_ideal_block_size();