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

Commit a08ad4b1 authored by Jiakai Zhang's avatar Jiakai Zhang Committed by Gerrit Code Review
Browse files

Merge changes from topic "snapshotctl_prop" into main

* changes:
  Make snapshotctl also log to logd.
  Allow other processes to run snapshotctl through init.
parents b2bfb972 6480d875
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -52,6 +52,9 @@
using namespace std::chrono_literals;
using namespace std::string_literals;
using namespace android::storage_literals;
using android::base::LogdLogger;
using android::base::StderrLogger;
using android::base::TeeLogger;
using android::fs_mgr::CreateLogicalPartitionParams;
using android::fs_mgr::FindPartition;
using android::fs_mgr::GetPartitionSize;
@@ -461,23 +464,23 @@ bool MapSnapshots::DeleteSnapshots() {
}

bool DumpCmdHandler(int /*argc*/, char** argv) {
    android::base::InitLogging(argv, &android::base::StderrLogger);
    android::base::InitLogging(argv, TeeLogger(LogdLogger(), &StderrLogger));
    return SnapshotManager::New()->Dump(std::cout);
}

bool MapCmdHandler(int, char** argv) {
    android::base::InitLogging(argv, &android::base::StderrLogger);
    android::base::InitLogging(argv, TeeLogger(LogdLogger(), &StderrLogger));
    using namespace std::chrono_literals;
    return SnapshotManager::New()->MapAllSnapshots(5000ms);
}

bool UnmapCmdHandler(int, char** argv) {
    android::base::InitLogging(argv, &android::base::StderrLogger);
    android::base::InitLogging(argv, TeeLogger(LogdLogger(), &StderrLogger));
    return SnapshotManager::New()->UnmapAllSnapshots();
}

bool MergeCmdHandler(int /*argc*/, char** argv) {
    android::base::InitLogging(argv, &android::base::StderrLogger);
    android::base::InitLogging(argv, TeeLogger(LogdLogger(), &StderrLogger));
    LOG(WARNING) << "Deprecated. Call update_engine_client --merge instead.";
    return false;
}
+13 −0
Original line number Diff line number Diff line
@@ -1361,3 +1361,16 @@ on property:persist.device_config.mglru_native.lru_gen_config=core_and_nonleaf_y
  write /sys/kernel/mm/lru_gen/enabled 5
on property:persist.device_config.mglru_native.lru_gen_config=all
  write /sys/kernel/mm/lru_gen/enabled 7

# Allow other processes to run `snapshotctl` through `init`. This requires
# `set_prop` permission on `snapshotctl_prop`.
on property:sys.snapshotctl.map=requested
    # "root" is needed to talk to gsid and pass its check on uid.
    # "system" is needed to write to "/dev/socket/snapuserd" to talk to
    # snapuserd.
    exec - root root system -- /system/bin/snapshotctl map
    setprop sys.snapshotctl.map "finished"

on property:sys.snapshotctl.unmap=requested
    exec - root root system -- /system/bin/snapshotctl unmap
    setprop sys.snapshotctl.unmap "finished"