summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/main.rs10
-rw-r--r--vm_control/src/lib.rs10
2 files changed, 10 insertions, 10 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
diff --git a/vm_control/src/lib.rs b/vm_control/src/lib.rs
index ab9af1d..1c28994 100644
--- a/vm_control/src/lib.rs
+++ b/vm_control/src/lib.rs
@@ -71,8 +71,8 @@ impl MsgOnSocket for MaybeOwnedFd {
 /// Unless otherwise noted, each request should expect a `VmResponse::Ok` to be received on success.
 #[derive(MsgOnSocket)]
 pub enum VmRequest {
-    /// Try to grow or shrink the VM's balloon.
-    BalloonAdjust(i32),
+    /// Set the size of the VM's balloon in bytes.
+    BalloonAdjust(u64),
     /// Break the VM's run loop and exit.
     Exit,
     /// Register the given ioevent address along with given datamatch to trigger the `EventFd`.
@@ -161,10 +161,10 @@ impl VmRequest {
                 Err(e) => VmResponse::Err(e),
             },
             VmRequest::BalloonAdjust(num_pages) => {
-                let mut buf = [0u8; 4];
-                // write_i32 can't fail as the buffer is 4 bytes long.
+                let mut buf = [0u8; 8];
+                // write_u64 can't fail as the buffer is 8 bytes long.
                 (&mut buf[0..])
-                    .write_i32::<LittleEndian>(num_pages)
+                    .write_u64::<LittleEndian>(num_pages)
                     .unwrap();
                 match balloon_host_socket.send(&buf) {
                     Ok(_) => VmResponse::Ok,