Snap for 6545159 from b51a1b7335 to mainline-release

Change-Id: I7e51975b2039d7ef4cdef10d327ead5cff23010d
This commit is contained in:
android-build-team Robot 2020-05-31 07:08:12 +00:00
commit cf7f053298
9 changed files with 28 additions and 3 deletions

View File

@ -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>
@ -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();
@ -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);

View File

@ -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 {

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -5,6 +5,7 @@ service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-sys
group root readproc reserved_disk
socket zygote stream 660 root system
socket usap_pool_primary stream 660 root system
onrestart exec_background - system system -- /system/bin/vdc volume abort_fuse
onrestart write /sys/power/state on
onrestart restart audioserver
onrestart restart cameraserver

View File

@ -5,6 +5,7 @@ service zygote /system/bin/app_process32 -Xzygote /system/bin --zygote --start-s
group root readproc reserved_disk
socket zygote stream 660 root system
socket usap_pool_primary stream 660 root system
onrestart exec_background - system system -- /system/bin/vdc volume abort_fuse
onrestart write /sys/power/state on
onrestart restart audioserver
onrestart restart cameraserver

View File

@ -5,6 +5,7 @@ service zygote /system/bin/app_process64 -Xzygote /system/bin --zygote --start-s
group root readproc reserved_disk
socket zygote stream 660 root system
socket usap_pool_primary stream 660 root system
onrestart exec_background - system system -- /system/bin/vdc volume abort_fuse
onrestart write /sys/power/state on
onrestart restart audioserver
onrestart restart cameraserver

View File

@ -5,6 +5,7 @@ service zygote /system/bin/app_process64 -Xzygote /system/bin --zygote --start-s
group root readproc reserved_disk
socket zygote stream 660 root system
socket usap_pool_primary stream 660 root system
onrestart exec_background - system system -- /system/bin/vdc volume abort_fuse
onrestart write /sys/power/state on
onrestart restart audioserver
onrestart restart cameraserver