Loading fs_mgr/libsnapshot/snapshotctl.cpp +7 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; } Loading rootdir/init.rc +13 −0 Original line number Diff line number Diff line Loading @@ -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" Loading
fs_mgr/libsnapshot/snapshotctl.cpp +7 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; } Loading
rootdir/init.rc +13 −0 Original line number Diff line number Diff line Loading @@ -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"