diff --git a/vhost_user_block/Cargo.toml b/vhost_user_block/Cargo.toml index 32546e7ce..98453f84a 100644 --- a/vhost_user_block/Cargo.toml +++ b/vhost_user_block/Cargo.toml @@ -3,6 +3,7 @@ name = "vhost_user_block" version = "0.1.0" authors = ["The Cloud Hypervisor Authors"] edition = "2021" +build = "../build.rs" [dependencies] argh = "0.1.9" diff --git a/vhost_user_block/src/main.rs b/vhost_user_block/src/main.rs index 2e3885683..14c88e186 100644 --- a/vhost_user_block/src/main.rs +++ b/vhost_user_block/src/main.rs @@ -19,7 +19,11 @@ struct TopLevel { #[argh(option, long = "block-backend")] /// vhost-user-block backend parameters /// path=,socket=,num_queues=,queue_size=,readonly=true|false,direct=true|false,poll_queue=true|false - backend_command: String, + backend_command: Option, + + #[argh(switch, short = 'V', long = "version")] + /// print version information + version: bool, } fn main() { @@ -27,5 +31,15 @@ fn main() { let toplevel: TopLevel = argh::from_env(); - start_block_backend(&toplevel.backend_command); + if toplevel.version { + println!("{} {}", env!("CARGO_BIN_NAME"), env!("BUILT_VERSION")); + return; + } + + if toplevel.backend_command.is_none() { + println!("Please specify --block-backend"); + std::process::exit(1) + } + + start_block_backend(&toplevel.backend_command.unwrap()); }