Merged-In Revert "vold: use RAII wake locks"
This reverts commit 242130f3f8
.
Reason for revert: breaks the build
Change-Id: Ide809a114b2a04538f3ba4ed8af934bf326e54f3
This commit is contained in:
parent
242130f3f8
commit
a37c01756f
4 changed files with 24 additions and 7 deletions
|
@ -181,7 +181,7 @@ static status_t benchmarkInternal(const std::string& rootPath,
|
|||
void Benchmark(const std::string& path,
|
||||
const android::sp<android::os::IVoldTaskListener>& listener) {
|
||||
std::lock_guard<std::mutex> lock(kBenchmarkLock);
|
||||
android::power::WakeLock wl{kWakeLock};
|
||||
acquire_wake_lock(PARTIAL_WAKE_LOCK, kWakeLock);
|
||||
|
||||
PerformanceBoost boost;
|
||||
android::os::PersistableBundle extras;
|
||||
|
@ -190,6 +190,8 @@ void Benchmark(const std::string& path,
|
|||
if (listener) {
|
||||
listener->onFinished(res, extras);
|
||||
}
|
||||
|
||||
release_wake_lock(kWakeLock);
|
||||
}
|
||||
|
||||
} // namespace vold
|
||||
|
|
|
@ -145,7 +145,7 @@ static void addFromFstab(std::list<std::string>* paths, PathTypes path_type) {
|
|||
}
|
||||
|
||||
void Trim(const android::sp<android::os::IVoldTaskListener>& listener) {
|
||||
android::power::WakeLock wl{kWakeLock};
|
||||
acquire_wake_lock(PARTIAL_WAKE_LOCK, kWakeLock);
|
||||
|
||||
// Collect both fstab and vold volumes
|
||||
std::list<std::string> paths;
|
||||
|
@ -195,6 +195,7 @@ void Trim(const android::sp<android::os::IVoldTaskListener>& listener) {
|
|||
listener->onFinished(0, extras);
|
||||
}
|
||||
|
||||
release_wake_lock(kWakeLock);
|
||||
}
|
||||
|
||||
static bool waitForGc(const std::list<std::string>& paths) {
|
||||
|
@ -369,7 +370,7 @@ int RunIdleMaint(const android::sp<android::os::IVoldTaskListener>& listener) {
|
|||
|
||||
LOG(DEBUG) << "idle maintenance started";
|
||||
|
||||
android::power::WakeLock wl{kWakeLock};
|
||||
acquire_wake_lock(PARTIAL_WAKE_LOCK, kWakeLock);
|
||||
|
||||
std::list<std::string> paths;
|
||||
addFromFstab(&paths, PathTypes::kBlkDevice);
|
||||
|
@ -399,11 +400,13 @@ int RunIdleMaint(const android::sp<android::os::IVoldTaskListener>& listener) {
|
|||
|
||||
LOG(DEBUG) << "idle maintenance completed";
|
||||
|
||||
release_wake_lock(kWakeLock);
|
||||
|
||||
return android::OK;
|
||||
}
|
||||
|
||||
int AbortIdleMaint(const android::sp<android::os::IVoldTaskListener>& listener) {
|
||||
android::power::WakeLock wl{kWakeLock};
|
||||
acquire_wake_lock(PARTIAL_WAKE_LOCK, kWakeLock);
|
||||
|
||||
std::unique_lock<std::mutex> lk(cv_m);
|
||||
if (idle_maint_stat != IdleMaintStats::kStopped) {
|
||||
|
@ -421,6 +424,8 @@ int AbortIdleMaint(const android::sp<android::os::IVoldTaskListener>& listener)
|
|||
listener->onFinished(0, extras);
|
||||
}
|
||||
|
||||
release_wake_lock(kWakeLock);
|
||||
|
||||
LOG(DEBUG) << "idle maintenance stopped";
|
||||
|
||||
return android::OK;
|
||||
|
|
|
@ -258,13 +258,15 @@ fail:
|
|||
|
||||
void MoveStorage(const std::shared_ptr<VolumeBase>& from, const std::shared_ptr<VolumeBase>& to,
|
||||
const android::sp<android::os::IVoldTaskListener>& listener) {
|
||||
android::power::WakeLock wl{kWakeLock};
|
||||
acquire_wake_lock(PARTIAL_WAKE_LOCK, kWakeLock);
|
||||
|
||||
android::os::PersistableBundle extras;
|
||||
status_t res = moveStorageInternal(from, to, listener);
|
||||
if (listener) {
|
||||
listener->onFinished(res, extras);
|
||||
}
|
||||
|
||||
release_wake_lock(kWakeLock);
|
||||
}
|
||||
|
||||
} // namespace vold
|
||||
|
|
12
cryptfs.cpp
12
cryptfs.cpp
|
@ -2007,7 +2007,6 @@ int cryptfs_enable_internal(int crypt_type, const char* passwd, int no_ui) {
|
|||
off64_t previously_encrypted_upto = 0;
|
||||
bool rebootEncryption = false;
|
||||
bool onlyCreateHeader = false;
|
||||
std::unique_ptr<android::power::WakeLock> wakeLock = nullptr;
|
||||
|
||||
if (get_crypt_ftr_and_key(&crypt_ftr) == 0) {
|
||||
if (crypt_ftr.flags & CRYPT_ENCRYPTION_IN_PROGRESS) {
|
||||
|
@ -2074,7 +2073,7 @@ int cryptfs_enable_internal(int crypt_type, const char* passwd, int no_ui) {
|
|||
* wants to keep the screen on, it can grab a full wakelock.
|
||||
*/
|
||||
snprintf(lockid, sizeof(lockid), "enablecrypto%d", (int)getpid());
|
||||
wakeLock = std::make_unique<android::power::WakeLock>(lockid);
|
||||
acquire_wake_lock(PARTIAL_WAKE_LOCK, lockid);
|
||||
|
||||
/* The init files are setup to stop the class main and late start when
|
||||
* vold sets trigger_shutdown_framework.
|
||||
|
@ -2255,6 +2254,7 @@ int cryptfs_enable_internal(int crypt_type, const char* passwd, int no_ui) {
|
|||
/* default encryption - continue first boot sequence */
|
||||
property_set("ro.crypto.state", "encrypted");
|
||||
property_set("ro.crypto.type", "block");
|
||||
release_wake_lock(lockid);
|
||||
if (rebootEncryption && crypt_ftr.crypt_type != CRYPT_TYPE_DEFAULT) {
|
||||
// Bring up cryptkeeper that will check the password and set it
|
||||
property_set("vold.decrypt", "trigger_shutdown_framework");
|
||||
|
@ -2291,6 +2291,7 @@ int cryptfs_enable_internal(int crypt_type, const char* passwd, int no_ui) {
|
|||
} else {
|
||||
/* set property to trigger dialog */
|
||||
property_set("vold.encrypt_progress", "error_partially_encrypted");
|
||||
release_wake_lock(lockid);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
@ -2300,10 +2301,14 @@ int cryptfs_enable_internal(int crypt_type, const char* passwd, int no_ui) {
|
|||
* Set the property and return. Hope the framework can deal with it.
|
||||
*/
|
||||
property_set("vold.encrypt_progress", "error_reboot_failed");
|
||||
release_wake_lock(lockid);
|
||||
return rc;
|
||||
|
||||
error_unencrypted:
|
||||
property_set("vold.encrypt_progress", "error_not_encrypted");
|
||||
if (lockid[0]) {
|
||||
release_wake_lock(lockid);
|
||||
}
|
||||
return -1;
|
||||
|
||||
error_shutting_down:
|
||||
|
@ -2318,6 +2323,9 @@ error_shutting_down:
|
|||
|
||||
/* shouldn't get here */
|
||||
property_set("vold.encrypt_progress", "error_shutting_down");
|
||||
if (lockid[0]) {
|
||||
release_wake_lock(lockid);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue