diff options
author | Daniel Verkamp <dverkamp@chromium.org> | 2019-01-03 12:53:04 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2019-01-05 20:08:41 -0800 |
commit | f76869d2a62cf662a03c4245ca83456f72f5e813 (patch) | |
tree | 2621e32c2ec2e795d3b83afc52ed80d770583567 /src/main.rs | |
parent | 3a794ccb25c599b0f1aac143309e92bd2303f2b0 (diff) | |
download | crosvm-f76869d2a62cf662a03c4245ca83456f72f5e813.tar crosvm-f76869d2a62cf662a03c4245ca83456f72f5e813.tar.gz crosvm-f76869d2a62cf662a03c4245ca83456f72f5e813.tar.bz2 crosvm-f76869d2a62cf662a03c4245ca83456f72f5e813.tar.lz crosvm-f76869d2a62cf662a03c4245ca83456f72f5e813.tar.xz crosvm-f76869d2a62cf662a03c4245ca83456f72f5e813.tar.zst crosvm-f76869d2a62cf662a03c4245ca83456f72f5e813.zip |
devices: balloon: fix the 'crosvm balloon' command
The balloon socket interface was changed to take an absolute number of pages in a u64 in commit 448516e3f9 ("balloon: Implement device policy"), but the 'crosvm balloon' command wasn't updated to match. Fix the crosvm front-end to send a u64 as expected by the command socket reader instead of the i32 it was sending previously, and change the parameter to bytes instead of pages to match the receiving end as well. BUG=None TEST=crosvm balloon a running VM to various sizes Change-Id: I265bee55c06809de7559a79a5eb6d0d094533993 Signed-off-by: Daniel Verkamp <dverkamp@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1394157 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org>
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/main.rs b/src/main.rs index d901cbf..8e1e452 100644 --- a/src/main.rs +++ b/src/main.rs @@ -571,13 +571,13 @@ fn stop_vms(args: std::env::Args) -> std::result::Result<(), ()> { fn balloon_vms(mut args: std::env::Args) -> std::result::Result<(), ()> { if args.len() < 2 { - print_help("crosvm balloon", "PAGE_ADJUST VM_SOCKET...", &[]); - println!("Adjust the ballon size of the crosvm instance by `PAGE_ADJUST` pages, `PAGE_ADJUST` can be negative to shrink the balloon."); + print_help("crosvm balloon", "SIZE VM_SOCKET...", &[]); + println!("Set the ballon size of the crosvm instance to `SIZE` bytes."); } - let num_pages: i32 = match args.nth(0).unwrap().parse::<i32>() { + let num_bytes = match args.nth(0).unwrap().parse::<u64>() { Ok(n) => n, Err(_) => { - error!("Failed to parse number of pages"); + error!("Failed to parse number of bytes"); return Err(()); } }; @@ -590,7 +590,7 @@ fn balloon_vms(mut args: std::env::Args) -> std::result::Result<(), ()> { }) { Ok(s) => { let sender = Sender::<VmRequest>::new(s); - if let Err(e) = sender.send(&VmRequest::BalloonAdjust(num_pages)) { + if let Err(e) = sender.send(&VmRequest::BalloonAdjust(num_bytes)) { error!( "failed to send balloon request to socket at '{}': {:?}", socket_path, e |