Loading fs_mgr/libdm/dm.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ #include <android-base/file.h> #include <android-base/logging.h> #include <android-base/macros.h> #include <android-base/properties.h> #include <android-base/strings.h> #include <uuid/uuid.h> Loading Loading @@ -140,6 +141,10 @@ static std::string GenerateUuid() { return std::string{uuid_chars}; } static bool IsRecovery() { return access("/system/bin/recovery", F_OK) == 0; } bool DeviceMapper::CreateDevice(const std::string& name, const DmTable& table, std::string* path, const std::chrono::milliseconds& timeout_ms) { std::string uuid = GenerateUuid(); Loading @@ -160,6 +165,16 @@ bool DeviceMapper::CreateDevice(const std::string& name, const DmTable& table, s if (timeout_ms <= std::chrono::milliseconds::zero()) { return true; } if (IsRecovery()) { bool non_ab_device = android::base::GetProperty("ro.build.ab_update", "").empty(); int sdk = android::base::GetIntProperty("ro.build.version.sdk", 0); if (non_ab_device && sdk && sdk <= 29) { LOG(INFO) << "Detected ueventd incompatibility, reverting to legacy libdm behavior."; unique_path = *path; } } if (!WaitForFile(unique_path, timeout_ms)) { LOG(ERROR) << "Failed waiting for device path: " << unique_path; DeleteDevice(name); Loading init/reboot.cpp +4 −1 Original line number Diff line number Diff line Loading @@ -678,9 +678,12 @@ static void DoReboot(unsigned int cmd, const std::string& reason, const std::str // Reap subcontext pids. ReapAnyOutstandingChildren(); // 3. send volume shutdown to vold // 3. send volume abort_fuse and volume shutdown to vold Service* vold_service = ServiceList::GetInstance().FindService("vold"); if (vold_service != nullptr && vold_service->IsRunning()) { // Manually abort FUSE connections, since the FUSE daemon is already dead // at this point, and unmounting it might hang. CallVdc("volume", "abort_fuse"); CallVdc("volume", "shutdown"); vold_service->Stop(); } else { Loading libstats/pull/stats_pull_atom_callback.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -47,7 +47,7 @@ AStatsEvent* AStatsEventList_addStatsEvent(AStatsEventList* pull_data) { } static const int64_t DEFAULT_COOL_DOWN_MILLIS = 1000LL; // 1 second. static const int64_t DEFAULT_TIMEOUT_MILLIS = 10000LL; // 10 seconds. static const int64_t DEFAULT_TIMEOUT_MILLIS = 2000LL; // 2 seconds. struct AStatsManager_PullAtomMetadata { int64_t cool_down_millis; Loading libstats/pull/tests/pull_atom_metadata_test.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ namespace { static const int64_t DEFAULT_COOL_DOWN_MILLIS = 1000LL; // 1 second. static const int64_t DEFAULT_TIMEOUT_MILLIS = 10000LL; // 10 seconds. static const int64_t DEFAULT_TIMEOUT_MILLIS = 2000LL; // 2 seconds. } // anonymous namespace Loading rootdir/init.rc +3 −0 Original line number Diff line number Diff line Loading @@ -177,6 +177,9 @@ on init mount binder binder /dev/binderfs stats=global chmod 0755 /dev/binderfs # Mount fusectl mount fusectl none /sys/fs/fuse/connections symlink /dev/binderfs/binder /dev/binder symlink /dev/binderfs/hwbinder /dev/hwbinder symlink /dev/binderfs/vndbinder /dev/vndbinder Loading Loading
fs_mgr/libdm/dm.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ #include <android-base/file.h> #include <android-base/logging.h> #include <android-base/macros.h> #include <android-base/properties.h> #include <android-base/strings.h> #include <uuid/uuid.h> Loading Loading @@ -140,6 +141,10 @@ static std::string GenerateUuid() { return std::string{uuid_chars}; } static bool IsRecovery() { return access("/system/bin/recovery", F_OK) == 0; } bool DeviceMapper::CreateDevice(const std::string& name, const DmTable& table, std::string* path, const std::chrono::milliseconds& timeout_ms) { std::string uuid = GenerateUuid(); Loading @@ -160,6 +165,16 @@ bool DeviceMapper::CreateDevice(const std::string& name, const DmTable& table, s if (timeout_ms <= std::chrono::milliseconds::zero()) { return true; } if (IsRecovery()) { bool non_ab_device = android::base::GetProperty("ro.build.ab_update", "").empty(); int sdk = android::base::GetIntProperty("ro.build.version.sdk", 0); if (non_ab_device && sdk && sdk <= 29) { LOG(INFO) << "Detected ueventd incompatibility, reverting to legacy libdm behavior."; unique_path = *path; } } if (!WaitForFile(unique_path, timeout_ms)) { LOG(ERROR) << "Failed waiting for device path: " << unique_path; DeleteDevice(name); Loading
init/reboot.cpp +4 −1 Original line number Diff line number Diff line Loading @@ -678,9 +678,12 @@ static void DoReboot(unsigned int cmd, const std::string& reason, const std::str // Reap subcontext pids. ReapAnyOutstandingChildren(); // 3. send volume shutdown to vold // 3. send volume abort_fuse and volume shutdown to vold Service* vold_service = ServiceList::GetInstance().FindService("vold"); if (vold_service != nullptr && vold_service->IsRunning()) { // Manually abort FUSE connections, since the FUSE daemon is already dead // at this point, and unmounting it might hang. CallVdc("volume", "abort_fuse"); CallVdc("volume", "shutdown"); vold_service->Stop(); } else { Loading
libstats/pull/stats_pull_atom_callback.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -47,7 +47,7 @@ AStatsEvent* AStatsEventList_addStatsEvent(AStatsEventList* pull_data) { } static const int64_t DEFAULT_COOL_DOWN_MILLIS = 1000LL; // 1 second. static const int64_t DEFAULT_TIMEOUT_MILLIS = 10000LL; // 10 seconds. static const int64_t DEFAULT_TIMEOUT_MILLIS = 2000LL; // 2 seconds. struct AStatsManager_PullAtomMetadata { int64_t cool_down_millis; Loading
libstats/pull/tests/pull_atom_metadata_test.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ namespace { static const int64_t DEFAULT_COOL_DOWN_MILLIS = 1000LL; // 1 second. static const int64_t DEFAULT_TIMEOUT_MILLIS = 10000LL; // 10 seconds. static const int64_t DEFAULT_TIMEOUT_MILLIS = 2000LL; // 2 seconds. } // anonymous namespace Loading
rootdir/init.rc +3 −0 Original line number Diff line number Diff line Loading @@ -177,6 +177,9 @@ on init mount binder binder /dev/binderfs stats=global chmod 0755 /dev/binderfs # Mount fusectl mount fusectl none /sys/fs/fuse/connections symlink /dev/binderfs/binder /dev/binder symlink /dev/binderfs/hwbinder /dev/hwbinder symlink /dev/binderfs/vndbinder /dev/vndbinder Loading