Loading fs_mgr/fs_mgr_overlayfs.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -159,6 +159,9 @@ bool fs_mgr_overlayfs_enabled(FstabEntry* entry) { auto save_errno = errno; errno = 0; auto has_shared_blocks = fs_mgr_has_shared_blocks(entry->mount_point, entry->blk_device); if (!has_shared_blocks && (entry->mount_point == "/system")) { has_shared_blocks = fs_mgr_has_shared_blocks("/", entry->blk_device); } // special case for first stage init for system as root (taimen) if (!has_shared_blocks && (errno == ENOENT) && (entry->blk_device == "/dev/root")) { has_shared_blocks = true; Loading fs_mgr/fs_mgr_remount.cpp +5 −9 Original line number Diff line number Diff line Loading @@ -371,17 +371,13 @@ int main(int argc, char* argv[]) { continue; } } PLOG(WARNING) << "failed to remount partition dev:" << blk_device << " mnt:" << mount_point; // If errno = EROFS at this point, we are dealing with r/o PLOG(ERROR) << "failed to remount partition dev:" << blk_device << " mnt:" << mount_point; // If errno is EROFS at this point, we are dealing with r/o // filesystem types like squashfs, erofs or ext4 dedupe. We will // consider such a device that does not have CONFIG_OVERLAY_FS // in the kernel as a misconfigured; except for ext4 dedupe. if ((errno == EROFS) && can_reboot) { const std::vector<std::string> msg = {"--fsck_unshare_blocks"}; std::string err; if (write_bootloader_message(msg, &err)) reboot(true); LOG(ERROR) << "Failed to set bootloader message: " << err; errno = EROFS; // in the kernel as a misconfigured. if (errno == EROFS) { LOG(ERROR) << "Consider providing all the dependencies to enable overlayfs"; } retval = REMOUNT_FAILED; } Loading Loading
fs_mgr/fs_mgr_overlayfs.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -159,6 +159,9 @@ bool fs_mgr_overlayfs_enabled(FstabEntry* entry) { auto save_errno = errno; errno = 0; auto has_shared_blocks = fs_mgr_has_shared_blocks(entry->mount_point, entry->blk_device); if (!has_shared_blocks && (entry->mount_point == "/system")) { has_shared_blocks = fs_mgr_has_shared_blocks("/", entry->blk_device); } // special case for first stage init for system as root (taimen) if (!has_shared_blocks && (errno == ENOENT) && (entry->blk_device == "/dev/root")) { has_shared_blocks = true; Loading
fs_mgr/fs_mgr_remount.cpp +5 −9 Original line number Diff line number Diff line Loading @@ -371,17 +371,13 @@ int main(int argc, char* argv[]) { continue; } } PLOG(WARNING) << "failed to remount partition dev:" << blk_device << " mnt:" << mount_point; // If errno = EROFS at this point, we are dealing with r/o PLOG(ERROR) << "failed to remount partition dev:" << blk_device << " mnt:" << mount_point; // If errno is EROFS at this point, we are dealing with r/o // filesystem types like squashfs, erofs or ext4 dedupe. We will // consider such a device that does not have CONFIG_OVERLAY_FS // in the kernel as a misconfigured; except for ext4 dedupe. if ((errno == EROFS) && can_reboot) { const std::vector<std::string> msg = {"--fsck_unshare_blocks"}; std::string err; if (write_bootloader_message(msg, &err)) reboot(true); LOG(ERROR) << "Failed to set bootloader message: " << err; errno = EROFS; // in the kernel as a misconfigured. if (errno == EROFS) { LOG(ERROR) << "Consider providing all the dependencies to enable overlayfs"; } retval = REMOUNT_FAILED; } Loading