stratovirt/0023-Modify-cargo-cllippy-warning-when-compiling-cargo-cl.patch
Jie Yang c98bb6b512 Update version to 2.1.0-4
Signed-off-by: Jie Yang <yangjieyj.yang@huawei.com>
(cherry picked from commit e9cfa81784d4a86efd4392a487c0294d440c03c0)
2022-03-13 12:08:05 +08:00

1440 lines
58 KiB
Diff

From 4df5013eb6ac7e2e24445bc87e4d92840c70611a Mon Sep 17 00:00:00 2001
From: ace yan <yan_ace62@126.com>
Date: Sat, 12 Mar 2022 22:35:04 +0800
Subject: [PATCH 8/8] Modify cargo cllippy warning when compiling cargo cllippy
in high version rust.
Signed-off-by: Yan Wen <yan_ace62@126.com>
---
acpi/src/aml_compiler.rs | 6 ++---
address_space/src/address.rs | 2 +-
address_space/src/address_space.rs | 4 +--
address_space/src/host_mmap.rs | 2 +-
address_space/src/region.rs | 2 +-
boot_loader/src/x86_64/bootparam.rs | 28 ++++++++++----------
boot_loader/src/x86_64/direct_boot/mod.rs | 12 ++++-----
boot_loader/src/x86_64/standard_boot/mod.rs | 4 +--
cpu/src/x86_64/caps.rs | 8 +-----
cpu/src/x86_64/mod.rs | 6 ++---
devices/src/legacy/pflash.rs | 24 +++++++----------
machine/src/lib.rs | 10 +++----
machine/src/micro_vm/mod.rs | 6 ++---
machine/src/standard_vm/aarch64/mod.rs | 9 -------
machine/src/standard_vm/mod.rs | 12 ++++-----
machine/src/standard_vm/x86_64/ich9_lpc.rs | 1 -
machine_manager/src/cmdline.rs | 4 +--
machine_manager/src/config/boot_source.rs | 3 ---
machine_manager/src/config/chardev.rs | 2 +-
machine_manager/src/config/devices.rs | 4 +--
machine_manager/src/config/drive.rs | 19 +++----------
machine_manager/src/config/machine_config.rs | 13 ++++-----
machine_manager/src/config/mod.rs | 8 +++---
machine_manager/src/config/network.rs | 3 ---
machine_manager/src/config/vfio.rs | 10 +------
machine_manager/src/event_loop.rs | 2 --
machine_manager/src/lib.rs | 1 -
machine_manager/src/machine.rs | 6 ++---
machine_manager/src/qmp/mod.rs | 2 --
machine_manager/src/qmp/qmp_schema.rs | 7 -----
machine_manager/src/socket.rs | 3 ++-
migration/src/header.rs | 2 ++
migration/src/manager.rs | 4 +--
migration_derive/src/field_parser.rs | 10 +++----
migration_derive/src/lib.rs | 1 -
ozone/src/capability.rs | 2 +-
ozone/src/cgroup.rs | 4 +--
pci/src/bus.rs | 4 +--
pci/src/host.rs | 1 +
pci/src/lib.rs | 2 +-
pci/src/msix.rs | 8 +++---
src/main.rs | 8 +++---
util/src/arg_parser.rs | 6 ++---
util/src/daemonize.rs | 2 --
util/src/logger.rs | 3 ---
util/src/seccomp.rs | 2 --
util/src/tap.rs | 2 +-
util/src/unix.rs | 2 --
vfio/src/vfio_dev.rs | 9 +++----
vfio/src/vfio_pci.rs | 6 +----
virtio/src/balloon.rs | 6 +++--
virtio/src/block.rs | 2 +-
virtio/src/queue.rs | 8 +++---
virtio/src/vhost/kernel/mod.rs | 4 +--
54 files changed, 120 insertions(+), 201 deletions(-)
diff --git a/acpi/src/aml_compiler.rs b/acpi/src/aml_compiler.rs
index 0c4c59d..3fa4fa0 100644
--- a/acpi/src/aml_compiler.rs
+++ b/acpi/src/aml_compiler.rs
@@ -153,7 +153,7 @@ fn build_name_string(name: &str) -> Vec<u8> {
2 => {
bytes.push(0x2E);
bytes.append(&mut build_name_seg(&remain_first));
- bytes.append(&mut build_name_seg(&strs[1].to_string()));
+ bytes.append(&mut build_name_seg(strs[1]));
}
_ => {
bytes.push(0x2F);
@@ -161,7 +161,7 @@ fn build_name_string(name: &str) -> Vec<u8> {
bytes.append(&mut build_name_seg(&remain_first));
strs.iter().skip(1).for_each(|s| {
- bytes.extend(build_name_seg(&s.to_string()));
+ bytes.extend(build_name_seg(s));
})
}
}
@@ -604,7 +604,7 @@ impl AmlBuilder for AmlFieldUnit {
let mut bytes = self
.name
.as_ref()
- .map(|str| build_name_seg(&str))
+ .map(|str| build_name_seg(str))
.unwrap_or_else(|| vec![0x0_u8]);
bytes.extend(build_pkg_length(self.length as usize, false));
bytes
diff --git a/address_space/src/address.rs b/address_space/src/address.rs
index 803b672..e7760c3 100644
--- a/address_space/src/address.rs
+++ b/address_space/src/address.rs
@@ -143,7 +143,7 @@ impl PartialOrd for AddressRange {
/// Implement Ord trait for AddressRange.
impl Ord for AddressRange {
fn cmp(&self, other: &AddressRange) -> Ordering {
- self.partial_cmp(&other).unwrap()
+ self.partial_cmp(other).unwrap()
}
}
diff --git a/address_space/src/address_space.rs b/address_space/src/address_space.rs
index 949c305..81774da 100644
--- a/address_space/src/address_space.rs
+++ b/address_space/src/address_space.rs
@@ -112,7 +112,7 @@ impl AddressSpace {
pub fn register_listener(&self, listener: ListenerObj) -> Result<()> {
let mut locked_listener = listener.lock().unwrap();
for fr in self.flat_view.load().0.iter() {
- locked_listener.handle_request(Some(&fr), None, ListenerReqType::AddRegion)?;
+ locked_listener.handle_request(Some(fr), None, ListenerReqType::AddRegion)?;
}
locked_listener.enable();
@@ -141,7 +141,7 @@ impl AddressSpace {
pub fn unregister_listener(&self, listener: ListenerObj) -> Result<()> {
let mut locked_listener = listener.lock().unwrap();
for fr in self.flat_view.load().0.iter() {
- locked_listener.handle_request(Some(&fr), None, ListenerReqType::DeleteRegion)?;
+ locked_listener.handle_request(Some(fr), None, ListenerReqType::DeleteRegion)?;
}
locked_listener.disable();
drop(locked_listener);
diff --git a/address_space/src/host_mmap.rs b/address_space/src/host_mmap.rs
index 27e768b..1a6b0a8 100644
--- a/address_space/src/host_mmap.rs
+++ b/address_space/src/host_mmap.rs
@@ -220,7 +220,7 @@ pub fn create_host_mmaps(
if let Some(path) = &mem_config.mem_path {
let file_len = ranges.iter().fold(0, |acc, x| acc + x.1);
f_back = Some(
- FileBackend::new_mem(&path, file_len)
+ FileBackend::new_mem(path, file_len)
.chain_err(|| "Failed to create file that backs memory")?,
);
} else if mem_config.mem_share {
diff --git a/address_space/src/region.rs b/address_space/src/region.rs
index f88c63e..7c9e8da 100644
--- a/address_space/src/region.rs
+++ b/address_space/src/region.rs
@@ -358,7 +358,7 @@ impl Region {
///
/// * `space` - The AddressSpace that the region belongs to.
pub(crate) fn set_belonged_address_space(&self, space: &Arc<AddressSpace>) {
- *self.space.write().unwrap() = Arc::downgrade(&space);
+ *self.space.write().unwrap() = Arc::downgrade(space);
}
/// Release the address space this region belongs to,
diff --git a/boot_loader/src/x86_64/bootparam.rs b/boot_loader/src/x86_64/bootparam.rs
index 82beb21..8f1b35d 100644
--- a/boot_loader/src/x86_64/bootparam.rs
+++ b/boot_loader/src/x86_64/bootparam.rs
@@ -267,22 +267,22 @@ mod test {
boot_params.setup_e820_entries(&config, &space);
assert_eq!(boot_params.e820_entries, 4);
- unsafe {
- assert_eq!(boot_params.e820_table[0].addr, 0);
- assert_eq!(boot_params.e820_table[0].size, 0x0009_FC00);
- assert_eq!(boot_params.e820_table[0].type_, 1);
+ assert!(boot_params.e820_table[0].addr == 0);
- assert_eq!(boot_params.e820_table[1].addr, 0x0009_FC00);
- assert_eq!(boot_params.e820_table[1].size, 0x400);
- assert_eq!(boot_params.e820_table[1].type_, 2);
+ assert!(boot_params.e820_table[0].addr == 0);
+ assert!(boot_params.e820_table[0].size == 0x0009_FC00);
+ assert!(boot_params.e820_table[0].type_ == 1);
- assert_eq!(boot_params.e820_table[2].addr, 0x000F_0000);
- assert_eq!(boot_params.e820_table[2].size, 0);
- assert_eq!(boot_params.e820_table[2].type_, 2);
+ assert!(boot_params.e820_table[1].addr == 0x0009_FC00);
+ assert!(boot_params.e820_table[1].size == 0x400);
+ assert!(boot_params.e820_table[1].type_ == 2);
- assert_eq!(boot_params.e820_table[3].addr, 0x0010_0000);
- assert_eq!(boot_params.e820_table[3].size, 0x0ff0_0000);
- assert_eq!(boot_params.e820_table[3].type_, 1);
- }
+ assert!(boot_params.e820_table[2].addr == 0x000F_0000);
+ assert!(boot_params.e820_table[2].size == 0);
+ assert!(boot_params.e820_table[2].type_ == 2);
+
+ assert!(boot_params.e820_table[3].addr == 0x0010_0000);
+ assert!(boot_params.e820_table[3].size == 0x0ff0_0000);
+ assert!(boot_params.e820_table[3].type_ == 1);
}
}
diff --git a/boot_loader/src/x86_64/direct_boot/mod.rs b/boot_loader/src/x86_64/direct_boot/mod.rs
index 915b0cf..da0c123 100644
--- a/boot_loader/src/x86_64/direct_boot/mod.rs
+++ b/boot_loader/src/x86_64/direct_boot/mod.rs
@@ -55,7 +55,7 @@ pub fn load_bzimage(kernel_image: &mut File) -> Result<RealModeKernelHeader> {
kernel_image.seek(SeekFrom::Start(BOOT_HDR_START))?;
kernel_image
- .read_exact(&mut boot_hdr.as_mut_bytes())
+ .read_exact(boot_hdr.as_mut_bytes())
.chain_err(|| "Failed to read boot_hdr from bzImage kernel")?;
boot_hdr.type_of_loader = UNDEFINED_ID;
@@ -115,7 +115,7 @@ fn load_kernel_image(
)
};
- load_image(&mut kernel_image, vmlinux_start, &sys_mem).chain_err(|| "Failed to load image")?;
+ load_image(&mut kernel_image, vmlinux_start, sys_mem).chain_err(|| "Failed to load image")?;
boot_layout.boot_ip = kernel_start;
@@ -142,7 +142,7 @@ fn load_initrd(
let initrd_size = initrd_image.metadata().unwrap().len() as u64;
let initrd_addr = (initrd_addr_max - initrd_size) & !0xfff_u64;
- load_image(&mut initrd_image, initrd_addr, &sys_mem).chain_err(|| "Failed to load image")?;
+ load_image(&mut initrd_image, initrd_addr, sys_mem).chain_err(|| "Failed to load image")?;
header.set_ramdisk(initrd_addr as u32, initrd_size as u32);
@@ -186,7 +186,7 @@ fn setup_boot_params(
boot_hdr: &RealModeKernelHeader,
) -> Result<()> {
let mut boot_params = BootParams::new(*boot_hdr);
- boot_params.setup_e820_entries(&config, sys_mem);
+ boot_params.setup_e820_entries(config, sys_mem);
sys_mem
.write_object(&boot_params, GuestAddress(ZERO_PAGE_START))
.chain_err(|| format!("Failed to load zero page to 0x{:x}", ZERO_PAGE_START))?;
@@ -244,7 +244,7 @@ pub fn load_linux(
..Default::default()
};
let mut boot_header = load_kernel_image(
- &config.kernel.as_ref().unwrap(),
+ config.kernel.as_ref().unwrap(),
sys_mem,
&mut boot_loader_layout,
)?;
@@ -252,7 +252,7 @@ pub fn load_linux(
load_initrd(config, sys_mem, &mut boot_header)
.chain_err(|| "Failed to load initrd to vm memory")?;
- setup_kernel_cmdline(&config, sys_mem, &mut boot_header)
+ setup_kernel_cmdline(config, sys_mem, &mut boot_header)
.chain_err(|| "Failed to setup kernel cmdline")?;
setup_boot_params(config, sys_mem, &boot_header).chain_err(|| "Failed to setup boot params")?;
diff --git a/boot_loader/src/x86_64/standard_boot/mod.rs b/boot_loader/src/x86_64/standard_boot/mod.rs
index 92a0552..49e8a03 100644
--- a/boot_loader/src/x86_64/standard_boot/mod.rs
+++ b/boot_loader/src/x86_64/standard_boot/mod.rs
@@ -21,13 +21,13 @@ use address_space::AddressSpace;
use devices::legacy::{FwCfgEntryType, FwCfgOps};
use util::byte_code::ByteCode;
+use self::elf::load_elf_kernel;
use super::bootparam::RealModeKernelHeader;
use super::X86BootLoaderConfig;
use super::{BOOT_HDR_START, CMDLINE_START};
use crate::errors::{ErrorKind, Result, ResultExt};
use crate::x86_64::bootparam::{E820Entry, E820_RAM, E820_RESERVED, UEFI_OVMF_ID};
use crate::x86_64::{INITRD_ADDR_MAX, SETUP_START};
-use elf::load_elf_kernel;
fn load_image(
image: &mut File,
@@ -219,7 +219,7 @@ pub fn load_linux(
if let Err(e) = boot_header.check_valid_kernel() {
match e.kind() {
ErrorKind::ElfKernel => {
- load_elf_kernel(&mut kernel_image, &sys_mem, fwcfg)?;
+ load_elf_kernel(&mut kernel_image, sys_mem, fwcfg)?;
return Ok(());
}
_ => return Err(e),
diff --git a/cpu/src/x86_64/caps.rs b/cpu/src/x86_64/caps.rs
index 7b0a34c..4bf75fb 100644
--- a/cpu/src/x86_64/caps.rs
+++ b/cpu/src/x86_64/caps.rs
@@ -40,13 +40,7 @@ impl X86CPUCaps {
X86CPUCaps {
has_xsave: kvm.check_extension(Cap::Xsave),
has_xcrs: kvm.check_extension(Cap::Xcrs),
- supported_msrs: kvm
- .get_msr_index_list()
- .unwrap()
- .as_slice()
- .iter()
- .copied()
- .collect(),
+ supported_msrs: kvm.get_msr_index_list().unwrap().as_slice().to_vec(),
}
}
diff --git a/cpu/src/x86_64/mod.rs b/cpu/src/x86_64/mod.rs
index 7b7a183..37e0f84 100644
--- a/cpu/src/x86_64/mod.rs
+++ b/cpu/src/x86_64/mod.rs
@@ -22,9 +22,9 @@ use kvm_bindings::{
};
use kvm_ioctls::{Kvm, VcpuFd};
+use self::cpuid::host_cpuid;
use crate::errors::{Result, ResultExt};
use crate::CPU;
-use cpuid::host_cpuid;
use migration::{DeviceStateDesc, FieldDesc, MigrationHook, MigrationManager, StateTransfer};
use util::byte_code::ByteCode;
@@ -145,8 +145,8 @@ impl X86CPUState {
boot_config: &X86CPUBootConfig,
) -> Result<()> {
self.setup_lapic(vcpu_fd)?;
- self.setup_regs(&boot_config);
- self.setup_sregs(vcpu_fd, &boot_config)?;
+ self.setup_regs(boot_config);
+ self.setup_sregs(vcpu_fd, boot_config)?;
self.setup_fpu();
self.setup_msrs();
diff --git a/devices/src/legacy/pflash.rs b/devices/src/legacy/pflash.rs
index 0446f91..36f708d 100644
--- a/devices/src/legacy/pflash.rs
+++ b/devices/src/legacy/pflash.rs
@@ -251,24 +251,19 @@ impl PFlash {
}
fn query_devid(&mut self, offset: u64) -> Result<u32> {
- let mut resp: u32;
let index: u64 = offset
>> (self.bank_width.trailing_zeros() + self.max_device_width.trailing_zeros()
- self.device_width.trailing_zeros());
// Mask off upper bits, the rest (ident[2] and ident[3]) is not emulated.
- match index & 0xFF {
- 0 => {
- resp = self.ident[0];
- }
- 1 => {
- resp = self.ident[1];
- }
+ let mut resp: u32 = match index & 0xFF {
+ 0 => self.ident[0],
+ 1 => self.ident[1],
_ => {
debug!("Device ID 2 and 3 are not supported");
return Ok(0);
}
- }
+ };
if self.device_width < self.bank_width {
let mut i: u32 = self.device_width;
@@ -283,7 +278,6 @@ impl PFlash {
}
fn query_cfi(&mut self, offset: u64) -> Result<u32> {
- let mut resp: u32;
// Adjust index for expected device-width addressing.
let index: u64 = offset
>> (self.bank_width.trailing_zeros() + self.max_device_width.trailing_zeros()
@@ -293,7 +287,7 @@ impl PFlash {
return Err(ErrorKind::PFlashIndexOverflow(index, self.cfi_table.len()).into());
}
- resp = self.cfi_table[index as usize].into();
+ let mut resp: u32 = self.cfi_table[index as usize].into();
if self.device_width != self.max_device_width {
if self.device_width != 1 || self.bank_width > 4 {
return Err(
@@ -359,7 +353,7 @@ impl PFlash {
std::slice::from_raw_parts_mut((host_addr + offset) as *mut u8, data.len() as usize)
};
data.as_mut()
- .write_all(&src)
+ .write_all(src)
.chain_err(|| "Failed to read data from PFlash Rom")?;
Ok(())
@@ -378,7 +372,7 @@ impl PFlash {
let mut dst = unsafe {
std::slice::from_raw_parts_mut((host_addr + offset) as *mut u8, data.len() as usize)
};
- dst.write_all(&data)
+ dst.write_all(data)
.chain_err(|| "Failed to write data to PFlash Rom")?;
Ok(())
@@ -476,7 +470,7 @@ impl PFlash {
match self.cmd {
0x10 | 0x40 => {
if !self.read_only {
- if let Err(e) = self.write_data(&data, offset) {
+ if let Err(e) = self.write_data(data, offset) {
error!("Failed to write to PFlash device: {}.", e.display_chain());
}
if let Err(e) = self.update_content(offset, data_len.into()) {
@@ -592,7 +586,7 @@ impl PFlash {
match self.cmd {
0xe8 => {
if !self.read_only {
- if let Err(e) = self.write_data(&data, offset) {
+ if let Err(e) = self.write_data(data, offset) {
error!("Failed to write to PFlash device: {}.", e.display_chain());
}
} else {
diff --git a/machine/src/lib.rs b/machine/src/lib.rs
index 7f88b22..e759bd8 100644
--- a/machine/src/lib.rs
+++ b/machine/src/lib.rs
@@ -180,7 +180,7 @@ pub trait MachineOps {
let mut mem_mappings = Vec::new();
if !is_migrate {
let ram_ranges = self.arch_ram_ranges(mem_config.mem_size);
- mem_mappings = create_host_mmaps(&ram_ranges, &mem_config, nr_cpus)
+ mem_mappings = create_host_mmaps(&ram_ranges, mem_config, nr_cpus)
.chain_err(|| "Failed to mmap guest ram.")?;
}
@@ -253,7 +253,7 @@ pub trait MachineOps {
if let Some(boot_config) = boot_cfg {
for cpu_index in 0..nr_cpus as usize {
cpus[cpu_index as usize]
- .realize(&boot_config)
+ .realize(boot_config)
.chain_err(|| {
format!(
"Failed to realize arch cpu register for CPU {}/KVM",
@@ -529,7 +529,7 @@ pub trait MachineOps {
host: &str,
multifunc: bool,
) -> Result<()> {
- let (devfn, parent_bus) = self.get_devfn_and_parent_bus(&bdf)?;
+ let (devfn, parent_bus) = self.get_devfn_and_parent_bus(bdf)?;
let path = format!("/sys/bus/pci/devices/{}", host);
let device = VfioDevice::new(Path::new(&path), self.get_sys_mem())
.chain_err(|| "Failed to create vfio device.")?;
@@ -595,7 +595,7 @@ pub trait MachineOps {
device: Arc<Mutex<dyn VirtioDevice>>,
multi_func: bool,
) -> Result<()> {
- let (devfn, parent_bus) = self.get_devfn_and_parent_bus(&bdf)?;
+ let (devfn, parent_bus) = self.get_devfn_and_parent_bus(bdf)?;
let sys_mem = self.get_sys_mem();
let pcidev = VirtioPciDevice::new(
id.to_string(),
@@ -616,7 +616,7 @@ pub trait MachineOps {
let pci_host = self.get_pci_host()?;
let locked_pci_host = pci_host.lock().unwrap();
let bus =
- if let Some((bus, _)) = PciBus::find_attached_bus(&locked_pci_host.root_bus, &dev_id) {
+ if let Some((bus, _)) = PciBus::find_attached_bus(&locked_pci_host.root_bus, dev_id) {
bus
} else {
bail!("Bus not found, dev id {}", dev_id);
diff --git a/machine/src/micro_vm/mod.rs b/machine/src/micro_vm/mod.rs
index 5952c58..c3bffdd 100644
--- a/machine/src/micro_vm/mod.rs
+++ b/machine/src/micro_vm/mod.rs
@@ -906,7 +906,7 @@ impl DeviceInterface for LightMachine {
current: true,
qom_path: String::from("/machine/unattached/device[")
+ &cpu_index.to_string()
- + &"]".to_string(),
+ + "]",
halted: false,
props: Some(cpu_instance),
CPU: cpu_index as isize,
@@ -971,9 +971,7 @@ impl DeviceInterface for LightMachine {
vcpus_count: 1,
props: cpu_instance,
qom_path: Some(
- String::from("/machine/unattached/device[")
- + &cpu_index.to_string()
- + &"]".to_string(),
+ String::from("/machine/unattached/device[") + &cpu_index.to_string() + "]",
),
};
hotplug_vec.push(serde_json::to_value(hotpluggable_cpu).unwrap());
diff --git a/machine/src/standard_vm/aarch64/mod.rs b/machine/src/standard_vm/aarch64/mod.rs
index ddf8a41..3fd2de3 100644
--- a/machine/src/standard_vm/aarch64/mod.rs
+++ b/machine/src/standard_vm/aarch64/mod.rs
@@ -155,15 +155,6 @@ impl StdMachine {
})
}
- /// Run `LightMachine` with `paused` flag.
- ///
- /// # Arguments
- ///
- /// * `paused` - Flag for `paused` when `LightMachine` starts to run.
- pub fn run(&self, paused: bool) -> Result<()> {
- <Self as MachineOps>::vm_start(paused, &self.cpus, &mut self.vm_state.0.lock().unwrap())
- }
-
pub fn handle_reset_request(vm: &Arc<Mutex<Self>>) -> Result<()> {
use crate::errors::ResultExt;
diff --git a/machine/src/standard_vm/mod.rs b/machine/src/standard_vm/mod.rs
index c96f89a..98916f1 100644
--- a/machine/src/standard_vm/mod.rs
+++ b/machine/src/standard_vm/mod.rs
@@ -607,12 +607,12 @@ impl StdMachine {
if dev.vhost_type.is_some() {
let net = Arc::new(Mutex::new(VhostKern::Net::new(&dev, self.get_sys_mem())));
- self.add_virtio_pci_device(&args.id, &pci_bdf, net, multifunction)
+ self.add_virtio_pci_device(&args.id, pci_bdf, net, multifunction)
.chain_err(|| "Failed to add virtio net device")?;
} else {
let net_id = dev.id.clone();
let net = Arc::new(Mutex::new(virtio::Net::new(dev)));
- self.add_virtio_pci_device(&args.id, &pci_bdf, net.clone(), multifunction)
+ self.add_virtio_pci_device(&args.id, pci_bdf, net.clone(), multifunction)
.chain_err(|| "Failed to add virtio net device")?;
MigrationManager::register_device_instance_mutex_with_id(
VirtioNetState::descriptor(),
@@ -684,7 +684,7 @@ impl DeviceInterface for StdMachine {
current: true,
qom_path: String::from("/machine/unattached/device[")
+ &cpu_index.to_string()
- + &"]".to_string(),
+ + "]",
halted: false,
props: Some(cpu_instance),
CPU: cpu_index as isize,
@@ -750,7 +750,7 @@ impl DeviceInterface for StdMachine {
"virtio-blk-pci" => {
if let Err(e) = self.plug_virtio_pci_blk(&pci_bdf, args.as_ref()) {
error!("{}", e.display_chain());
- let err_str = format!("Failed to add virtio pci blk: {}", e.to_string());
+ let err_str = format!("Failed to add virtio pci blk: {}", e);
return Response::create_error_response(
qmp_schema::QmpErrorClass::GenericError(err_str),
None,
@@ -760,7 +760,7 @@ impl DeviceInterface for StdMachine {
"virtio-net-pci" => {
if let Err(e) = self.plug_virtio_pci_net(&pci_bdf, args.as_ref()) {
error!("{}", e.display_chain());
- let err_str = format!("Failed to add virtio pci net: {}", e.to_string());
+ let err_str = format!("Failed to add virtio pci net: {}", e);
return Response::create_error_response(
qmp_schema::QmpErrorClass::GenericError(err_str),
None,
@@ -794,7 +794,7 @@ impl DeviceInterface for StdMachine {
error!("{}", e.display_chain());
error!("Failed to detach device");
}
- let err_str = format!("Failed to plug device: {}", e.to_string());
+ let err_str = format!("Failed to plug device: {}", e);
Response::create_error_response(
qmp_schema::QmpErrorClass::GenericError(err_str),
None,
diff --git a/machine/src/standard_vm/x86_64/ich9_lpc.rs b/machine/src/standard_vm/x86_64/ich9_lpc.rs
index 9053bd4..24a8770 100644
--- a/machine/src/standard_vm/x86_64/ich9_lpc.rs
+++ b/machine/src/standard_vm/x86_64/ich9_lpc.rs
@@ -297,7 +297,6 @@ impl PciDevOps for LPCBridge {
) {
if let Err(e) = self.update_pm_base() {
error!("Failed to update PM base addr: {}", e.display_chain());
- return;
}
}
}
diff --git a/machine_manager/src/cmdline.rs b/machine_manager/src/cmdline.rs
index b8e3645..24c34ab 100644
--- a/machine_manager/src/cmdline.rs
+++ b/machine_manager/src/cmdline.rs
@@ -401,6 +401,7 @@ pub fn create_vmconfig(args: &ArgMatches) -> Result<VmConfig> {
add_args_to_config!((args.value_of("smp")), vm_cfg, add_cpu);
add_args_to_config!((args.value_of("kernel")), vm_cfg, add_kernel);
add_args_to_config!((args.value_of("initrd-file")), vm_cfg, add_initrd);
+ add_args_to_config!((args.value_of("serial")), vm_cfg, add_serial);
add_args_to_config!(
(args.is_present("mem-prealloc")),
vm_cfg,
@@ -417,9 +418,8 @@ pub fn create_vmconfig(args: &ArgMatches) -> Result<VmConfig> {
add_args_to_config_multi!((args.values_of("object")), vm_cfg, add_object);
add_args_to_config_multi!((args.values_of("netdev")), vm_cfg, add_netdev);
add_args_to_config_multi!((args.values_of("chardev")), vm_cfg, add_chardev);
- add_args_to_config_multi!((args.values_of("device")), vm_cfg, add_devices);
+ add_args_to_config_multi!((args.values_of("device")), vm_cfg, add_device);
add_args_to_config_multi!((args.values_of("global")), vm_cfg, add_global_config);
- add_args_to_config!((args.value_of("serial")), vm_cfg, add_serial);
if let Some(s) = args.value_of("trace") {
add_trace_events(&s)?;
diff --git a/machine_manager/src/config/boot_source.rs b/machine_manager/src/config/boot_source.rs
index 81b9d1e..81cc0f5 100644
--- a/machine_manager/src/config/boot_source.rs
+++ b/machine_manager/src/config/boot_source.rs
@@ -10,9 +10,6 @@
// NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
// See the Mulan PSL v2 for more details.
-extern crate serde;
-extern crate serde_json;
-
use std::fmt;
use std::path::PathBuf;
diff --git a/machine_manager/src/config/chardev.rs b/machine_manager/src/config/chardev.rs
index 187de49..2eb435b 100644
--- a/machine_manager/src/config/chardev.rs
+++ b/machine_manager/src/config/chardev.rs
@@ -221,7 +221,7 @@ impl VmConfig {
}
}
_ => {
- let chardev_config = serial_config.to_string() + &",id=serial_chardev".to_string();
+ let chardev_config = serial_config.to_string() + ",id=serial_chardev";
self.add_chardev(&chardev_config)
.chain_err(|| "Failed to add chardev")?;
"serial_chardev"
diff --git a/machine_manager/src/config/devices.rs b/machine_manager/src/config/devices.rs
index c9d60bd..cfc972c 100644
--- a/machine_manager/src/config/devices.rs
+++ b/machine_manager/src/config/devices.rs
@@ -14,11 +14,11 @@ use super::errors::Result;
use super::{CmdParser, VmConfig};
impl VmConfig {
- pub fn add_devices(&mut self, device_config: &str) -> Result<()> {
+ pub fn add_device(&mut self, device_config: &str) -> Result<()> {
let mut cmd_params = CmdParser::new("device");
cmd_params.push("");
- cmd_params.get_parameters(&device_config)?;
+ cmd_params.get_parameters(device_config)?;
if let Some(device_type) = cmd_params.get_value::<String>("")? {
self.devices.push((device_type, device_config.to_string()));
}
diff --git a/machine_manager/src/config/drive.rs b/machine_manager/src/config/drive.rs
index 9670161..88d78f2 100644
--- a/machine_manager/src/config/drive.rs
+++ b/machine_manager/src/config/drive.rs
@@ -10,9 +10,6 @@
// NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
// See the Mulan PSL v2 for more details.
-extern crate serde;
-extern crate serde_json;
-
use std::fs::metadata;
use std::os::linux::fs::MetadataExt;
use std::path::Path;
@@ -276,7 +273,7 @@ pub fn parse_blk(vm_config: &mut VmConfig, drive_config: &str) -> Result<BlkDevC
/// Config struct for `pflash`.
/// Contains pflash device's attr.
-#[derive(Debug, Clone, Serialize, Deserialize)]
+#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(deny_unknown_fields)]
pub struct PFlashConfig {
pub path_on_host: String,
@@ -284,16 +281,6 @@ pub struct PFlashConfig {
pub unit: usize,
}
-impl Default for PFlashConfig {
- fn default() -> Self {
- PFlashConfig {
- path_on_host: String::new(),
- read_only: false,
- unit: 0_usize,
- }
- }
-}
-
impl ConfigCheck for PFlashConfig {
fn check(&self) -> Result<()> {
if self.path_on_host.len() > MAX_PATH_LENGTH {
@@ -325,10 +312,10 @@ impl VmConfig {
};
match drive_type.as_str() {
"none" => {
- self.add_block_drive(&drive_config)?;
+ self.add_block_drive(drive_config)?;
}
"pflash" => {
- self.add_pflash(&drive_config)?;
+ self.add_pflash(drive_config)?;
}
_ => {
bail!("Unknow 'if' argument: {:?}", drive_type.as_str());
diff --git a/machine_manager/src/config/machine_config.rs b/machine_manager/src/config/machine_config.rs
index f1b5533..92fddab 100644
--- a/machine_manager/src/config/machine_config.rs
+++ b/machine_manager/src/config/machine_config.rs
@@ -10,9 +10,6 @@
// NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
// See the Mulan PSL v2 for more details.
-extern crate serde;
-extern crate serde_json;
-
use std::str::FromStr;
use serde::{Deserialize, Serialize};
@@ -238,7 +235,7 @@ impl VmConfig {
}
pub fn add_mem_path(&mut self, mem_path: &str) -> Result<()> {
- self.machine_config.mem_config.mem_path = Some(mem_path.replace("\"", ""));
+ self.machine_config.mem_config.mem_path = Some(mem_path.replace('\"', ""));
Ok(())
}
@@ -251,8 +248,8 @@ fn memory_unit_conversion(origin_value: &str) -> Result<u64> {
if (origin_value.ends_with('M') | origin_value.ends_with('m'))
&& (origin_value.contains('M') ^ origin_value.contains('m'))
{
- let value = origin_value.replacen("M", "", 1);
- let value = value.replacen("m", "", 1);
+ let value = origin_value.replacen('M', "", 1);
+ let value = value.replacen('m', "", 1);
get_inner(
value
.parse::<u64>()
@@ -264,8 +261,8 @@ fn memory_unit_conversion(origin_value: &str) -> Result<u64> {
} else if (origin_value.ends_with('G') | origin_value.ends_with('g'))
&& (origin_value.contains('G') ^ origin_value.contains('g'))
{
- let value = origin_value.replacen("G", "", 1);
- let value = value.replacen("g", "", 1);
+ let value = origin_value.replacen('G', "", 1);
+ let value = value.replacen('g', "", 1);
get_inner(
value
.parse::<u64>()
diff --git a/machine_manager/src/config/mod.rs b/machine_manager/src/config/mod.rs
index 14e2ec8..56e8a51 100644
--- a/machine_manager/src/config/mod.rs
+++ b/machine_manager/src/config/mod.rs
@@ -123,7 +123,7 @@ fn parse_rng_obj(object_args: &str) -> Result<RngObjConfig> {
let mut cmd_params = CmdParser::new("rng-object");
cmd_params.push("").push("id").push("filename");
- cmd_params.parse(&object_args)?;
+ cmd_params.parse(object_args)?;
let id = if let Some(obj_id) = cmd_params.get_value::<String>("id")? {
obj_id
} else {
@@ -221,7 +221,7 @@ impl VmConfig {
let mut cmd_params = CmdParser::new("object");
cmd_params.push("");
- cmd_params.get_parameters(&object_args)?;
+ cmd_params.get_parameters(object_args)?;
let obj_type = cmd_params.get_value::<String>("")?;
if obj_type.is_none() {
bail!("Object type not specified");
@@ -229,11 +229,11 @@ impl VmConfig {
let device_type = obj_type.unwrap();
match device_type.as_str() {
"iothread" => {
- self.add_iothread(&object_args)
+ self.add_iothread(object_args)
.chain_err(|| "Failed to add iothread")?;
}
"rng-random" => {
- let rng_cfg = parse_rng_obj(&object_args)?;
+ let rng_cfg = parse_rng_obj(object_args)?;
let id = rng_cfg.id.clone();
let object_config = ObjConfig::Rng(rng_cfg);
if self.object.get(&id).is_none() {
diff --git a/machine_manager/src/config/network.rs b/machine_manager/src/config/network.rs
index 9d17ead..b0cdf76 100644
--- a/machine_manager/src/config/network.rs
+++ b/machine_manager/src/config/network.rs
@@ -10,9 +10,6 @@
// NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
// See the Mulan PSL v2 for more details.
-extern crate serde;
-extern crate serde_json;
-
use serde::{Deserialize, Serialize};
use super::{
diff --git a/machine_manager/src/config/vfio.rs b/machine_manager/src/config/vfio.rs
index dc18615..8acb4df 100644
--- a/machine_manager/src/config/vfio.rs
+++ b/machine_manager/src/config/vfio.rs
@@ -13,20 +13,12 @@
use super::errors::{ErrorKind, Result};
use crate::config::{CmdParser, ConfigCheck, MAX_STRING_LENGTH};
+#[derive(Default)]
pub struct VfioConfig {
pub host: String,
pub id: String,
}
-impl Default for VfioConfig {
- fn default() -> Self {
- VfioConfig {
- host: String::new(),
- id: String::new(),
- }
- }
-}
-
impl ConfigCheck for VfioConfig {
fn check(&self) -> Result<()> {
if self.host.len() > MAX_STRING_LENGTH {
diff --git a/machine_manager/src/event_loop.rs b/machine_manager/src/event_loop.rs
index fa973f6..72ef64f 100644
--- a/machine_manager/src/event_loop.rs
+++ b/machine_manager/src/event_loop.rs
@@ -10,8 +10,6 @@
// NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
// See the Mulan PSL v2 for more details.
-extern crate util;
-
use std::collections::HashMap;
use std::sync::{Arc, Mutex};
use std::{process, thread};
diff --git a/machine_manager/src/lib.rs b/machine_manager/src/lib.rs
index 8de5dae..a544c60 100644
--- a/machine_manager/src/lib.rs
+++ b/machine_manager/src/lib.rs
@@ -25,7 +25,6 @@
extern crate log;
#[macro_use]
extern crate error_chain;
-extern crate serde_json;
pub mod cmdline;
pub mod config;
diff --git a/machine_manager/src/machine.rs b/machine_manager/src/machine.rs
index df6d899..02d8900 100644
--- a/machine_manager/src/machine.rs
+++ b/machine_manager/src/machine.rs
@@ -10,8 +10,6 @@
// NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
// See the Mulan PSL v2 for more details.
-extern crate util;
-
use std::os::unix::io::RawFd;
use std::sync::Mutex;
@@ -351,8 +349,8 @@ pub trait DeviceInterface {
let chardev_label = &path.label;
let info = ChardevInfo {
open: true,
- filename: chardev_path.to_string().replace("\"", ""),
- label: chardev_label.to_string().replace("\"", ""),
+ filename: chardev_path.to_string().replace('\"', ""),
+ label: chardev_label.to_string().replace('\"', ""),
};
vec_chardev_info.push(info);
}
diff --git a/machine_manager/src/qmp/mod.rs b/machine_manager/src/qmp/mod.rs
index 365ef93..12e493a 100644
--- a/machine_manager/src/qmp/mod.rs
+++ b/machine_manager/src/qmp/mod.rs
@@ -25,8 +25,6 @@
//! 3. Qmp's message structure base is transformed by scripts from Qemu's
//! `qmp-schema.json`. It's can be compatible by Qemu's zoology. Those
//! transformed structures can be found in `machine_manager/src/qmp/qmp_schema.rs`
-extern crate serde;
-extern crate serde_json;
#[allow(non_upper_case_globals)]
#[allow(non_camel_case_types)]
diff --git a/machine_manager/src/qmp/qmp_schema.rs b/machine_manager/src/qmp/qmp_schema.rs
index f1e0096..0058e94 100644
--- a/machine_manager/src/qmp/qmp_schema.rs
+++ b/machine_manager/src/qmp/qmp_schema.rs
@@ -10,11 +10,6 @@
// NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
// See the Mulan PSL v2 for more details.
-extern crate serde;
-extern crate serde_json;
-extern crate strum;
-extern crate strum_macros;
-
use serde::{Deserialize, Serialize};
pub use serde_json::Value as Any;
use strum_macros::{EnumIter, EnumString, EnumVariantNames};
@@ -1741,8 +1736,6 @@ impl Command for query_iothreads {
#[cfg(test)]
mod tests {
- extern crate serde;
- extern crate serde_json;
use super::*;
#[test]
diff --git a/machine_manager/src/socket.rs b/machine_manager/src/socket.rs
index c0813c4..594ef64 100644
--- a/machine_manager/src/socket.rs
+++ b/machine_manager/src/socket.rs
@@ -197,7 +197,7 @@ impl Socket {
let performer = &socket_mutexed.performer.as_ref().unwrap();
if let Err(e) = crate::qmp::handle_qmp(
stream_fd,
- &performer,
+ performer,
&mut shared_leak_bucket.lock().unwrap(),
) {
error!("{}", e);
@@ -297,6 +297,7 @@ struct SocketStream {
/// `RawFd` for socket
socket_fd: RawFd,
/// Make `UnixStream` persistent without `drop`
+ #[allow(dead_code)]
persistent: Option<UnixStream>,
}
diff --git a/migration/src/header.rs b/migration/src/header.rs
index e39ab52..46833b4 100644
--- a/migration/src/header.rs
+++ b/migration/src/header.rs
@@ -80,6 +80,7 @@ pub struct MigrationHeader {
/// Magic number for migration file/stream.
magic_num: [u8; 16],
/// Current version of migration.
+ #[allow(dead_code)]
current_version: u32,
/// Compatible version of migration.
compat_version: u32,
@@ -88,6 +89,7 @@ pub struct MigrationHeader {
/// Endianness of byte order.
byte_order: EndianType,
/// The type of hypervisor.
+ #[allow(dead_code)]
hypervisor_type: [u8; 8],
/// The version of hypervisor.
hypervisor_version: u32,
diff --git a/migration/src/manager.rs b/migration/src/manager.rs
index ef903f9..1ea194e 100644
--- a/migration/src/manager.rs
+++ b/migration/src/manager.rs
@@ -71,11 +71,11 @@ pub trait MigrationHook: StateTransfer {
let device_alias = self.get_device_alias();
let instance_id = InstanceId {
object_type: device_alias,
- object_id: id_remap(&id),
+ object_id: id_remap(id),
};
writer
- .write_all(&instance_id.as_bytes())
+ .write_all(instance_id.as_bytes())
.chain_err(|| "Failed to write instance id.")?;
writer
.write_all(&state_data)
diff --git a/migration_derive/src/field_parser.rs b/migration_derive/src/field_parser.rs
index 2318a74..2403399 100644
--- a/migration_derive/src/field_parser.rs
+++ b/migration_derive/src/field_parser.rs
@@ -21,7 +21,7 @@ pub fn parse_fields(input: &syn::Fields, ident: &syn::Ident) -> Vec<proc_macro2:
match input {
syn::Fields::Named(ref name_fields) => {
let pairs = name_fields.named.pairs();
- for field in pairs.into_iter() {
+ for field in pairs {
fields.push(parse_field(field, ident));
}
}
@@ -51,11 +51,7 @@ fn parse_field(
let ty = input.value().ty.clone();
let (ty_ident, len, is_array) = parse_ty(ty);
let type_name = if is_array {
- format!(
- "[{};{}]",
- ty_ident.path.get_ident().unwrap().to_string(),
- len
- )
+ format!("[{};{}]", ty_ident.path.get_ident().unwrap(), len)
} else {
ty_ident.path.get_ident().unwrap().to_string()
};
@@ -113,7 +109,7 @@ pub fn parse_fields_default(input: &syn::Fields) -> Vec<proc_macro2::TokenStream
match input {
syn::Fields::Named(ref name_fields) => {
let pairs = name_fields.named.pairs();
- for field in pairs.into_iter() {
+ for field in pairs {
fields.push(parse_field_default(field));
}
}
diff --git a/migration_derive/src/lib.rs b/migration_derive/src/lib.rs
index abb17b4..a71ab54 100644
--- a/migration_derive/src/lib.rs
+++ b/migration_derive/src/lib.rs
@@ -50,7 +50,6 @@
#[macro_use]
extern crate syn;
-extern crate quote;
use proc_macro::TokenStream;
use quote::quote;
diff --git a/ozone/src/capability.rs b/ozone/src/capability.rs
index d1fb21d..e7eae70 100644
--- a/ozone/src/capability.rs
+++ b/ozone/src/capability.rs
@@ -140,7 +140,7 @@ pub fn set_capability_for_ozone(capability: &str) -> Result<()> {
}
for item in all_caps.iter() {
- if cap_add_arr.contains(&item.0) {
+ if cap_add_arr.contains(item.0) {
continue;
}
if has_cap(item.1 .0).chain_err(|| ErrorKind::CapsError("CAPGET"))? {
diff --git a/ozone/src/cgroup.rs b/ozone/src/cgroup.rs
index c5763d4..8ce6539 100644
--- a/ozone/src/cgroup.rs
+++ b/ozone/src/cgroup.rs
@@ -112,8 +112,8 @@ fn get_base_location(controller: &str, exec_file: &str, name: &str) -> Result<Pa
}
pub fn set_numa_node(node: &str, exec_file: &str, name: &str) -> Result<()> {
- let write_path = get_base_location("cpuset", &exec_file, &name)?;
- write_cgroup_value(&write_path, "cpuset.mems", &node)
+ let write_path = get_base_location("cpuset", exec_file, name)?;
+ write_cgroup_value(&write_path, "cpuset.mems", node)
.chain_err(|| ErrorKind::WriteError("cpuset.mems".to_string(), node.to_string()))?;
let mut upper_path = write_path.clone();
diff --git a/pci/src/bus.rs b/pci/src/bus.rs
index 53f94d5..8fb9d1e 100644
--- a/pci/src/bus.rs
+++ b/pci/src/bus.rs
@@ -125,7 +125,7 @@ impl PciBus {
}
if locked_bus.in_range(bus_num) {
for sub_bus in &locked_bus.child_buses {
- if let Some(b) = PciBus::find_bus_by_num(&sub_bus, bus_num) {
+ if let Some(b) = PciBus::find_bus_by_num(sub_bus, bus_num) {
return Some(b);
}
}
@@ -145,7 +145,7 @@ impl PciBus {
return Some((*bus).clone());
}
for sub_bus in &locked_bus.child_buses {
- if let Some(b) = PciBus::find_bus_by_name(&sub_bus, bus_name) {
+ if let Some(b) = PciBus::find_bus_by_name(sub_bus, bus_name) {
return Some(b);
}
}
diff --git a/pci/src/host.rs b/pci/src/host.rs
index df7b617..1713c2e 100644
--- a/pci/src/host.rs
+++ b/pci/src/host.rs
@@ -51,6 +51,7 @@ const ECAM_OFFSET_MASK: u64 = 0xfff;
#[derive(Clone)]
pub struct PciHost {
pub root_bus: Arc<Mutex<PciBus>>,
+ #[allow(dead_code)]
device: Option<Arc<Mutex<dyn PciDevOps>>>,
#[cfg(target_arch = "x86_64")]
config_addr: u32,
diff --git a/pci/src/lib.rs b/pci/src/lib.rs
index 03b1b8c..87eb163 100644
--- a/pci/src/lib.rs
+++ b/pci/src/lib.rs
@@ -225,7 +225,7 @@ pub fn init_multifunction(
parent_bus: Weak<Mutex<PciBus>>,
) -> Result<()> {
let mut header_type =
- le_read_u16(&config, HEADER_TYPE as usize)? & (!HEADER_TYPE_MULTIFUNC as u16);
+ le_read_u16(config, HEADER_TYPE as usize)? & (!HEADER_TYPE_MULTIFUNC as u16);
if multifunction {
header_type |= HEADER_TYPE_MULTIFUNC as u16;
}
diff --git a/pci/src/msix.rs b/pci/src/msix.rs
index 71d172e..cbf27ea 100644
--- a/pci/src/msix.rs
+++ b/pci/src/msix.rs
@@ -364,7 +364,7 @@ impl MigrationHook for Msix {
pub fn is_msix_enabled(msix_cap_offset: usize, config: &[u8]) -> bool {
let offset: usize = msix_cap_offset + MSIX_CAP_CONTROL as usize;
- let msix_ctl = le_read_u16(&config, offset).unwrap();
+ let msix_ctl = le_read_u16(config, offset).unwrap();
if msix_ctl & MSIX_CAP_ENABLE > 0 {
return true;
}
@@ -373,7 +373,7 @@ pub fn is_msix_enabled(msix_cap_offset: usize, config: &[u8]) -> bool {
fn is_msix_func_masked(msix_cap_offset: usize, config: &[u8]) -> bool {
let offset: usize = msix_cap_offset + MSIX_CAP_CONTROL as usize;
- let msix_ctl = le_read_u16(&config, offset).unwrap();
+ let msix_ctl = le_read_u16(config, offset).unwrap();
if msix_ctl & MSIX_CAP_FUNC_MASK > 0 {
return true;
}
@@ -405,7 +405,7 @@ pub fn init_msix(
vector_nr: u32,
config: &mut PciConfig,
dev_id: Arc<AtomicU16>,
- id: &str,
+ _id: &str,
) -> Result<()> {
if vector_nr > MSIX_TABLE_SIZE_MAX as u32 + 1 {
bail!("Too many msix vectors.");
@@ -440,7 +440,7 @@ pub fn init_msix(
config.msix = Some(msix.clone());
#[cfg(not(test))]
- MigrationManager::register_device_instance_mutex_with_id(MsixState::descriptor(), msix, id);
+ MigrationManager::register_device_instance_mutex_with_id(MsixState::descriptor(), msix, _id);
Ok(())
}
diff --git a/src/main.rs b/src/main.rs
index b0a7c77..1b974ee 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -135,12 +135,12 @@ fn real_main(cmd_args: &arg_parser::ArgMatches, vm_config: &mut VmConfig) -> Res
EventLoop::object_init(&vm_config.iothreads)?;
register_kill_signal();
- let listeners = check_api_channel(&cmd_args, vm_config)?;
+ let listeners = check_api_channel(cmd_args, vm_config)?;
let mut sockets = Vec::new();
let vm: Arc<Mutex<dyn MachineOps + Send + Sync>> = match vm_config.machine_config.mach_type {
MachineType::MicroVm => {
let vm = Arc::new(Mutex::new(
- LightMachine::new(&vm_config).chain_err(|| "Failed to init MicroVM")?,
+ LightMachine::new(vm_config).chain_err(|| "Failed to init MicroVM")?,
));
MachineOps::realize(&vm, vm_config, cmd_args.is_present("incoming"))
.chain_err(|| "Failed to realize micro VM.")?;
@@ -153,7 +153,7 @@ fn real_main(cmd_args: &arg_parser::ArgMatches, vm_config: &mut VmConfig) -> Res
}
MachineType::StandardVm => {
let vm = Arc::new(Mutex::new(
- StdMachine::new(&vm_config).chain_err(|| "Failed to init StandardVM")?,
+ StdMachine::new(vm_config).chain_err(|| "Failed to init StandardVM")?,
));
MachineOps::realize(&vm, vm_config, cmd_args.is_present("incoming"))
.chain_err(|| "Failed to realize standard VM.")?;
@@ -166,7 +166,7 @@ fn real_main(cmd_args: &arg_parser::ArgMatches, vm_config: &mut VmConfig) -> Res
}
MachineType::None => {
let vm = Arc::new(Mutex::new(
- StdMachine::new(&vm_config).chain_err(|| "Failed to init NoneVM")?,
+ StdMachine::new(vm_config).chain_err(|| "Failed to init NoneVM")?,
));
EventLoop::set_manager(vm.clone(), None);
for listener in listeners {
diff --git a/util/src/arg_parser.rs b/util/src/arg_parser.rs
index 2285284..48ba493 100644
--- a/util/src/arg_parser.rs
+++ b/util/src/arg_parser.rs
@@ -579,7 +579,7 @@ impl<'a> ArgMatches<'a> {
if let Some(index) = args.iter().position(|arg| arg == ARG_SEPARATOR) {
return (&args[..index], &args[index + 1..]);
}
- (&args, &[])
+ (args, &[])
}
pub fn extra_args(&self) -> Vec<String> {
@@ -592,14 +592,14 @@ fn parse_cmdline(
cmd_args: &[String],
allow_list: &[String],
) -> Result<(ArgsMap, Vec<String>, Vec<String>)> {
- let (cmd_args, sub_args) = ArgMatches::split_arg(&cmd_args);
+ let (cmd_args, sub_args) = ArgMatches::split_arg(cmd_args);
let mut arg_map: BTreeMap<String, Vec<String>> = BTreeMap::new();
let mut multi_vec: Vec<String> = Vec::new();
let mut i = (0, "");
let mut j = 1;
for cmd_arg in &cmd_args[1..] {
- if !allow_list.contains(&cmd_arg) && cmd_arg.starts_with(PREFIX_CHARS_SHORT) {
+ if !allow_list.contains(cmd_arg) && cmd_arg.starts_with(PREFIX_CHARS_SHORT) {
return Err(ErrorKind::UnexpectedArguments(cmd_arg.to_string()).into());
}
diff --git a/util/src/daemonize.rs b/util/src/daemonize.rs
index 043251b..a057ebe 100644
--- a/util/src/daemonize.rs
+++ b/util/src/daemonize.rs
@@ -31,8 +31,6 @@
//! sent to the process group.
//! 8. Handle any `SIGCLD` signals.
-extern crate libc;
-
use std::cmp::Ordering;
use std::fs::{File, OpenOptions};
use std::io::prelude::*;
diff --git a/util/src/logger.rs b/util/src/logger.rs
index da155b4..ae562cb 100644
--- a/util/src/logger.rs
+++ b/util/src/logger.rs
@@ -10,9 +10,6 @@
// NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
// See the Mulan PSL v2 for more details.
-extern crate libc;
-extern crate log;
-
use std::io::prelude::*;
use std::sync::Mutex;
diff --git a/util/src/seccomp.rs b/util/src/seccomp.rs
index 87591c9..40ab17e 100644
--- a/util/src/seccomp.rs
+++ b/util/src/seccomp.rs
@@ -77,8 +77,6 @@
//! ```
//! This programe will be trapped.
-extern crate libc;
-
use crate::errors::Result;
use crate::offset_of;
diff --git a/util/src/tap.rs b/util/src/tap.rs
index 1668a71..1530f97 100644
--- a/util/src/tap.rs
+++ b/util/src/tap.rs
@@ -106,7 +106,7 @@ impl Tap {
}
pub fn write(&mut self, buf: &[u8]) -> IoResult<usize> {
- self.file.write(&buf)
+ self.file.write(buf)
}
pub fn as_raw_fd(&self) -> RawFd {
diff --git a/util/src/unix.rs b/util/src/unix.rs
index bdfdc3f..a41c81a 100644
--- a/util/src/unix.rs
+++ b/util/src/unix.rs
@@ -10,8 +10,6 @@
// NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
// See the Mulan PSL v2 for more details.
-extern crate libc;
-
use std::fs::File;
use std::os::unix::io::AsRawFd;
diff --git a/vfio/src/vfio_dev.rs b/vfio/src/vfio_dev.rs
index 198421c..db0c58d 100644
--- a/vfio/src/vfio_dev.rs
+++ b/vfio/src/vfio_dev.rs
@@ -515,10 +515,9 @@ impl VfioDevice {
bail!("No provided host PCI device, use -device vfio-pci,host=DDDD:BB:DD.F");
}
- let group =
- Self::vfio_get_group(&path, mem_as).chain_err(|| "Failed to get iommu group")?;
+ let group = Self::vfio_get_group(path, mem_as).chain_err(|| "Failed to get iommu group")?;
let (name, fd) =
- Self::vfio_get_device(&group, &path).chain_err(|| "Failed to get vfio device")?;
+ Self::vfio_get_device(&group, path).chain_err(|| "Failed to get vfio device")?;
let dev_info = Self::get_dev_info(&fd).chain_err(|| "Failed to get device info")?;
let vfio_dev = Arc::new(Mutex::new(VfioDevice {
fd,
@@ -813,12 +812,12 @@ impl VfioDevice {
irq_set[0].count = irq_fds.len() as u32;
// It is safe as enough memory space to save irq_set data.
- let mut data: &mut [u8] = unsafe {
+ let data: &mut [u8] = unsafe {
irq_set[0]
.data
.as_mut_slice(irq_fds.len() * size_of::<RawFd>())
};
- LittleEndian::write_i32_into(irq_fds.as_slice(), &mut data);
+ LittleEndian::write_i32_into(irq_fds.as_slice(), data);
// Safe as device is the owner of file, and we will verify the result is valid.
let ret = unsafe { ioctl_with_ref(&self.fd, VFIO_DEVICE_SET_IRQS(), &irq_set[0]) };
if ret < 0 {
diff --git a/vfio/src/vfio_pci.rs b/vfio/src/vfio_pci.rs
index bfb2334..abc8f6c 100644
--- a/vfio/src/vfio_pci.rs
+++ b/vfio/src/vfio_pci.rs
@@ -479,7 +479,7 @@ impl VfioPciDevice {
let write = move |data: &[u8], _: GuestAddress, offset: u64| -> bool {
let mut locked_msix = msix.lock().unwrap();
locked_msix.table[offset as usize..(offset as usize + data.len())]
- .copy_from_slice(&data);
+ .copy_from_slice(data);
let vector = offset / MSIX_TABLE_ENTRY_SIZE as u64;
if locked_msix.is_vector_masked(vector as u16) {
return true;
@@ -955,7 +955,6 @@ impl PciDevOps for VfioPciDevice {
if let Err(e) = self.setup_bars_mmap() {
error!("Failed to map bar regions, error is {}", e.display_chain());
- return;
}
}
} else if ranges_overlap(offset, end, BAR_0 as usize, (BAR_5 as usize) + REG_SIZE) {
@@ -971,7 +970,6 @@ impl PciDevOps for VfioPciDevice {
&locked_parent_bus.mem_region,
) {
error!("Failed to update bar, error is {}", e.display_chain());
- return;
}
}
} else if ranges_overlap(offset, end, cap_offset, cap_offset + MSIX_CAP_SIZE as usize) {
@@ -983,12 +981,10 @@ impl PciDevOps for VfioPciDevice {
if !was_enable && is_enable {
if let Err(e) = self.vfio_enable_msix() {
error!("{}\nFailed to enable MSI-X.", e.display_chain());
- return;
}
} else if was_enable && !is_enable {
if let Err(e) = self.vfio_disable_msix() {
error!("{}\nFailed to disable MSI-X.", e.display_chain());
- return;
}
}
} else {
diff --git a/virtio/src/balloon.rs b/virtio/src/balloon.rs
index 300876e..a2aa067 100644
--- a/virtio/src/balloon.rs
+++ b/virtio/src/balloon.rs
@@ -67,8 +67,10 @@ struct Iovec {
#[derive(Copy, Clone, Default)]
struct VirtioBalloonConfig {
/// Number of pages host wants Guest to give up.
+ #[allow(dead_code)]
pub num_pages: u32,
/// Number of pages we've actually got in balloon.
+ #[allow(dead_code)]
pub actual: u32,
}
@@ -419,13 +421,13 @@ impl Listener for BlnMemInfo {
ListenerReqType::AddRegion => {
let fr = range.unwrap();
if fr.owner.region_type() == RegionType::Ram {
- self.add_mem_range(&fr);
+ self.add_mem_range(fr);
}
}
ListenerReqType::DeleteRegion => {
let fr = range.unwrap();
if fr.owner.region_type() == RegionType::Ram {
- self.delete_mem_range(&fr);
+ self.delete_mem_range(fr);
}
}
_ => {}
diff --git a/virtio/src/block.rs b/virtio/src/block.rs
index a2e35e8..6c36e77 100644
--- a/virtio/src/block.rs
+++ b/virtio/src/block.rs
@@ -303,7 +303,7 @@ impl Request {
}
VIRTIO_BLK_T_GET_ID => {
if let Some(serial) = serial_num {
- let serial_vec = get_serial_num_config(&serial);
+ let serial_vec = get_serial_num_config(serial);
for iov in self.iovec.iter() {
if (iov.iov_len as usize) < serial_vec.len() {
diff --git a/virtio/src/queue.rs b/virtio/src/queue.rs
index b2c7132..13409a8 100644
--- a/virtio/src/queue.rs
+++ b/virtio/src/queue.rs
@@ -316,7 +316,7 @@ impl SplitVringDesc {
}
if miss_cached {
- if let Err(ref e) = checked_offset_mem(&sys_mem, self.addr, u64::from(self.len)) {
+ if let Err(ref e) = checked_offset_mem(sys_mem, self.addr, u64::from(self.len)) {
error!(
"The memory of descriptor is invalid, {} ",
error_chain::ChainedError::display_chain(e),
@@ -653,7 +653,7 @@ impl SplitVring {
fn is_invalid_memory(&self, sys_mem: &Arc<AddressSpace>, actual_size: u64) -> bool {
let desc_table_end =
- match checked_offset_mem(&sys_mem, self.desc_table, DESCRIPTOR_LEN * actual_size) {
+ match checked_offset_mem(sys_mem, self.desc_table, DESCRIPTOR_LEN * actual_size) {
Ok(addr) => addr,
Err(ref e) => {
error!(
@@ -667,7 +667,7 @@ impl SplitVring {
};
let desc_avail_end = match checked_offset_mem(
- &sys_mem,
+ sys_mem,
self.avail_ring,
VRING_AVAIL_LEN_EXCEPT_AVAILELEM + AVAILELEM_LEN * actual_size,
) {
@@ -684,7 +684,7 @@ impl SplitVring {
};
if let Err(ref e) = checked_offset_mem(
- &sys_mem,
+ sys_mem,
self.used_ring,
VRING_USED_LEN_EXCEPT_USEDELEM + USEDELEM_LEN * actual_size,
) {
diff --git a/virtio/src/vhost/kernel/mod.rs b/virtio/src/vhost/kernel/mod.rs
index 3a273eb..ccc85e9 100644
--- a/virtio/src/vhost/kernel/mod.rs
+++ b/virtio/src/vhost/kernel/mod.rs
@@ -200,14 +200,14 @@ impl Listener for VhostMemInfo {
) -> std::result::Result<(), address_space::errors::Error> {
match req_type {
ListenerReqType::AddRegion => {
- if Self::check_vhost_mem_range(&range.unwrap()) {
+ if Self::check_vhost_mem_range(range.unwrap()) {
self.add_mem_range(range.unwrap());
}
}
ListenerReqType::DeleteRegion => {
let fr = range.unwrap();
if fr.owner.region_type() == RegionType::Ram {
- self.delete_mem_range(&fr);
+ self.delete_mem_range(fr);
}
}
_ => {}
--
2.20.1