mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-12-22 21:55:20 +00:00
vmm: Make ConsoleConfig owned
Convert Path to PathBuf and remove the associated lifetime. Fixes #298 Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
parent
79a02f9171
commit
36137232f0
@ -417,13 +417,13 @@ impl ConsoleOutputMode {
|
||||
}
|
||||
}
|
||||
|
||||
pub struct ConsoleConfig<'a> {
|
||||
pub file: Option<&'a Path>,
|
||||
pub struct ConsoleConfig {
|
||||
pub file: Option<PathBuf>,
|
||||
pub mode: ConsoleOutputMode,
|
||||
}
|
||||
|
||||
impl<'a> ConsoleConfig<'a> {
|
||||
pub fn parse(param: &'a str) -> Result<Self> {
|
||||
impl ConsoleConfig {
|
||||
pub fn parse(param: &str) -> Result<Self> {
|
||||
if param == "off" {
|
||||
Ok(Self {
|
||||
mode: ConsoleOutputMode::Off,
|
||||
@ -437,7 +437,7 @@ impl<'a> ConsoleConfig<'a> {
|
||||
} else if param.starts_with("file=") {
|
||||
Ok(Self {
|
||||
mode: ConsoleOutputMode::File,
|
||||
file: Some(Path::new(¶m[5..])),
|
||||
file: Some(PathBuf::from(¶m[5..])),
|
||||
})
|
||||
} else if param.starts_with("null") {
|
||||
Ok(Self {
|
||||
@ -618,8 +618,8 @@ pub struct VmConfig<'a> {
|
||||
pub rng: RngConfig,
|
||||
pub fs: Option<Vec<FsConfig>>,
|
||||
pub pmem: Option<Vec<PmemConfig>>,
|
||||
pub serial: ConsoleConfig<'a>,
|
||||
pub console: ConsoleConfig<'a>,
|
||||
pub serial: ConsoleConfig,
|
||||
pub console: ConsoleConfig,
|
||||
pub devices: Option<Vec<DeviceConfig<'a>>>,
|
||||
pub vhost_user_net: Option<Vec<VhostUserNetConfig<'a>>>,
|
||||
pub vhost_user_blk: Option<Vec<VhostUserBlkConfig<'a>>>,
|
||||
|
@ -325,7 +325,7 @@ impl DeviceManager {
|
||||
|
||||
let serial_writer: Option<Box<dyn io::Write + Send>> = match vm_info.vm_cfg.serial.mode {
|
||||
ConsoleOutputMode::File => Some(Box::new(
|
||||
File::create(vm_info.vm_cfg.serial.file.unwrap())
|
||||
File::create(vm_info.vm_cfg.serial.file.as_ref().unwrap())
|
||||
.map_err(DeviceManagerError::SerialOutputFileOpen)?,
|
||||
)),
|
||||
ConsoleOutputMode::Tty => Some(Box::new(stdout())),
|
||||
@ -386,7 +386,7 @@ impl DeviceManager {
|
||||
|
||||
let console_writer: Option<Box<dyn io::Write + Send>> = match vm_info.vm_cfg.console.mode {
|
||||
ConsoleOutputMode::File => Some(Box::new(
|
||||
File::create(vm_info.vm_cfg.console.file.unwrap())
|
||||
File::create(vm_info.vm_cfg.console.file.as_ref().unwrap())
|
||||
.map_err(DeviceManagerError::ConsoleOutputFileOpen)?,
|
||||
)),
|
||||
ConsoleOutputMode::Tty => Some(Box::new(stdout())),
|
||||
|
Loading…
Reference in New Issue
Block a user