Commit ea551ec1 authored by Timothy Loh's avatar Timothy Loh Committed by Commit Bot

Fix task manager integration for Plugin VM

The argument we use to determine a crosvm process is for Plugin VM was
updated in https://crrev.com/c/1970098 to be prefixed by --param, so we
need to update our detection code for the task manager accordingly.

Bug: 1045295
Change-Id: I6390f8bf532766d77d32f339f5ef47607eab385c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2040592Reviewed-by: default avatarAhmed Fakhry <afakhry@chromium.org>
Reviewed-by: default avatarJulian Watson <juwa@google.com>
Commit-Queue: Timothy Loh <timloh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#739201}
parent 5841d65a
...@@ -102,22 +102,28 @@ bool CrostiniExtractVmNameAndOwnerId(const std::string& arg, ...@@ -102,22 +102,28 @@ bool CrostiniExtractVmNameAndOwnerId(const std::string& arg,
} }
// We are looking for argument like this: // We are looking for argument like this:
// /run/pvm-images/<cryptohome id>/UHZtRGVmYXVsdA==.pvm/... // --params=/run/pvm-images/<cryptohome id>/UHZtRGVmYXVsdA==.pvm/...
bool PluginVmExtractVmNameAndOwnerId(const std::string& arg, bool PluginVmExtractVmNameAndOwnerId(const std::string& arg,
std::string* vm_name_out, std::string* vm_name_out,
std::string* owner_id_out) { std::string* owner_id_out) {
DCHECK(vm_name_out); DCHECK(vm_name_out);
DCHECK(owner_id_out); DCHECK(owner_id_out);
constexpr char kParamPrefix[] = "--params=";
if (!base::StartsWith(arg, kParamPrefix, base::CompareCase::SENSITIVE)) {
return false;
}
base::StringPiece param(arg.begin() + strlen(kParamPrefix), arg.end());
// All VM disk images are mounted at this path. // All VM disk images are mounted at this path.
constexpr char kVmDiskRoot[] = "/run/pvm-images/"; constexpr char kVmDiskRoot[] = "/run/pvm-images/";
// Skip paths that don't start with the correct prefix. // Skip paths that don't start with the correct prefix.
if (!base::StartsWith(arg, kVmDiskRoot, base::CompareCase::SENSITIVE)) { if (!base::StartsWith(param, kVmDiskRoot, base::CompareCase::SENSITIVE)) {
return false; return false;
} }
const base::FilePath vm_disk_path(arg); const base::FilePath vm_disk_path(param);
std::vector<std::string> components; std::vector<std::string> components;
vm_disk_path.GetComponents(&components); vm_disk_path.GetComponents(&components);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment