summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xbin/clippy1
-rw-r--r--devices/src/usb/host_backend/context.rs17
-rw-r--r--devices/src/usb/host_backend/hotplug.rs35
-rw-r--r--devices/src/usb/xhci/ring_buffer.rs23
-rw-r--r--kvm/src/lib.rs7
-rw-r--r--qcow/src/qcow.rs9
-rw-r--r--src/plugin/vcpu.rs9
7 files changed, 44 insertions, 57 deletions
diff --git a/bin/clippy b/bin/clippy
index b3e1059..ec36b9a 100755
--- a/bin/clippy
+++ b/bin/clippy
@@ -16,7 +16,6 @@ SUPPRESS=(
     let_unit_value
     question_mark
     range_plus_one
-    single_match
     string_lit_as_bytes
     toplevel_ref_arg
     unit_arg
diff --git a/devices/src/usb/host_backend/context.rs b/devices/src/usb/host_backend/context.rs
index bf4a13d..960d066 100644
--- a/devices/src/usb/host_backend/context.rs
+++ b/devices/src/usb/host_backend/context.rs
@@ -129,32 +129,29 @@ struct PollfdChangeHandler {
 
 impl LibUsbPollfdChangeHandler for PollfdChangeHandler {
     fn add_poll_fd(&self, fd: RawFd, events: c_short) {
-        match self.event_loop.add_event(
+        if let Err(e) = self.event_loop.add_event(
             &MaybeOwnedFd::Borrowed(fd),
             WatchingEvents::new(events as u32),
             self.event_handler.clone(),
         ) {
-            Err(e) => error!("cannot add event to event loop: {}", e),
-            Ok(_) => {}
+            error!("cannot add event to event loop: {}", e);
         }
     }
 
     fn remove_poll_fd(&self, fd: RawFd) {
         if let Some(h) = self.event_handler.upgrade() {
-            match h.on_event() {
-                Ok(()) => {}
-                Err(e) => error!("cannot handle event: {:?}", e),
+            if let Err(e) = h.on_event() {
+                error!("cannot handle event: {:?}", e);
             }
         }
-        match self
+        if let Err(e) = self
             .event_loop
             .remove_event_for_fd(&MaybeOwnedFd::Borrowed(fd))
         {
-            Ok(_) => {}
-            Err(e) => error!(
+            error!(
                 "failed to remove poll change handler from event loop: {}",
                 e
-            ),
+            );
         }
     }
 }
diff --git a/devices/src/usb/host_backend/hotplug.rs b/devices/src/usb/host_backend/hotplug.rs
index 673acce..0764660 100644
--- a/devices/src/usb/host_backend/hotplug.rs
+++ b/devices/src/usb/host_backend/hotplug.rs
@@ -21,26 +21,25 @@ impl HotplugHandler {
 
 impl UsbHotplugHandler for HotplugHandler {
     fn hotplug_event(&self, device: LibUsbDevice, event: HotplugEvent) {
-        match event {
-            HotplugEvent::DeviceLeft => {
-                let bus = device.get_bus_number();
-                let address = device.get_address();
-                let descriptor = match device.get_device_descriptor() {
-                    Ok(d) => d,
-                    Err(e) => {
-                        error!("cannot get device descriptor: {:?}", e);
-                        return;
-                    }
-                };
-                let vid = descriptor.idVendor;
-                let pid = descriptor.idProduct;
+        if event != HotplugEvent::DeviceLeft {
+            return;
+        }
 
-                if let Err(e) = self.hub.try_detach(bus, address, vid, pid) {
-                    error!("device left event triggered failed detach from hub: {}", e);
-                    return;
-                }
+        let bus = device.get_bus_number();
+        let address = device.get_address();
+        let descriptor = match device.get_device_descriptor() {
+            Ok(d) => d,
+            Err(e) => {
+                error!("cannot get device descriptor: {:?}", e);
+                return;
             }
-            _ => {}
+        };
+        let vid = descriptor.idVendor;
+        let pid = descriptor.idProduct;
+
+        if let Err(e) = self.hub.try_detach(bus, address, vid, pid) {
+            error!("device left event triggered failed detach from hub: {}", e);
+            return;
         }
     }
 }
diff --git a/devices/src/usb/xhci/ring_buffer.rs b/devices/src/usb/xhci/ring_buffer.rs
index 2f66fa8..5e2c570 100644
--- a/devices/src/usb/xhci/ring_buffer.rs
+++ b/devices/src/usb/xhci/ring_buffer.rs
@@ -67,19 +67,16 @@ impl RingBuffer {
     pub fn dequeue_transfer_descriptor(&mut self) -> Result<Option<TransferDescriptor>> {
         let mut td: TransferDescriptor = TransferDescriptor::new();
         while let Some(addressed_trb) = self.get_current_trb()? {
-            match addressed_trb.trb.trb_type() {
-                Ok(TrbType::Link) => {
-                    let link_trb = addressed_trb
-                        .trb
-                        .cast::<LinkTrb>()
-                        .map_err(Error::CastTrb)?;
-                    self.dequeue_pointer = GuestAddress(link_trb.get_ring_segment_pointer());
-                    self.consumer_cycle_state =
-                        self.consumer_cycle_state != link_trb.get_toggle_cycle_bit();
-                    continue;
-                }
-                _ => {}
-            };
+            if let Ok(TrbType::Link) = addressed_trb.trb.trb_type() {
+                let link_trb = addressed_trb
+                    .trb
+                    .cast::<LinkTrb>()
+                    .map_err(Error::CastTrb)?;
+                self.dequeue_pointer = GuestAddress(link_trb.get_ring_segment_pointer());
+                self.consumer_cycle_state =
+                    self.consumer_cycle_state != link_trb.get_toggle_cycle_bit();
+                continue;
+            }
 
             self.dequeue_pointer = match self.dequeue_pointer.checked_add(size_of::<Trb>() as u64) {
                 Some(addr) => addr,
diff --git a/kvm/src/lib.rs b/kvm/src/lib.rs
index 16d73f1..dd8fd00 100644
--- a/kvm/src/lib.rs
+++ b/kvm/src/lib.rs
@@ -842,10 +842,9 @@ impl Vm {
         if do_datamatch {
             flags |= 1 << kvm_ioeventfd_flag_nr_datamatch
         }
-        match addr {
-            IoeventAddress::Pio(_) => flags |= 1 << kvm_ioeventfd_flag_nr_pio,
-            _ => {}
-        };
+        if let IoeventAddress::Pio(_) = addr {
+            flags |= 1 << kvm_ioeventfd_flag_nr_pio;
+        }
         let ioeventfd = kvm_ioeventfd {
             datamatch: datamatch_value,
             len: datamatch_len,
diff --git a/qcow/src/qcow.rs b/qcow/src/qcow.rs
index 52a6cc2..9b301a5 100644
--- a/qcow/src/qcow.rs
+++ b/qcow/src/qcow.rs
@@ -549,13 +549,12 @@ impl QcowFile {
 
         let mut cluster_addr = 0;
         while cluster_addr < file_size {
-            match self
+            let cluster_refcount = self
                 .refcounts
                 .get_cluster_refcount(&mut self.raw_file, cluster_addr)
-                .map_err(Error::GettingRefcount)?
-            {
-                0 => return Ok(Some(cluster_addr)),
-                _ => (),
+                .map_err(Error::GettingRefcount)?;
+            if cluster_refcount == 0 {
+                return Ok(Some(cluster_addr));
             }
             cluster_addr += cluster_size;
         }
diff --git a/src/plugin/vcpu.rs b/src/plugin/vcpu.rs
index 70e5e9b..adbe7e1 100644
--- a/src/plugin/vcpu.rs
+++ b/src/plugin/vcpu.rs
@@ -256,12 +256,9 @@ impl<'a> VcpuRunData<'a> {
     }
 
     fn copy_from_slice(&mut self, data: &[u8]) {
-        match self {
-            VcpuRunData::Read(s) => {
-                let copy_size = min(s.len(), data.len());
-                s.copy_from_slice(&data[..copy_size]);
-            }
-            _ => {}
+        if let VcpuRunData::Read(s) = self {
+            let copy_size = min(s.len(), data.len());
+            s.copy_from_slice(&data[..copy_size]);
         }
     }
 }