summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-07-06 16:16:41 +0000
committerAlyssa Ross <hi@alyssa.is>2020-07-06 16:22:26 +0000
commit7214f019550c6c8766b65c145640d34d5550db78 (patch)
tree5cd20c3a9da05c77af0fd665b1fb478be7e947cf
parent6edc5d9773e7da699a2660dc6c22796421e065f6 (diff)
downloadcrosvm-7214f019550c6c8766b65c145640d34d5550db78.tar
crosvm-7214f019550c6c8766b65c145640d34d5550db78.tar.gz
crosvm-7214f019550c6c8766b65c145640d34d5550db78.tar.bz2
crosvm-7214f019550c6c8766b65c145640d34d5550db78.tar.lz
crosvm-7214f019550c6c8766b65c145640d34d5550db78.tar.xz
crosvm-7214f019550c6c8766b65c145640d34d5550db78.tar.zst
crosvm-7214f019550c6c8766b65c145640d34d5550db78.zip
devices: include path in SocketConnect error msg
-rw-r--r--devices/src/virtio/wl.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/devices/src/virtio/wl.rs b/devices/src/virtio/wl.rs
index d21fa35..12f5012 100644
--- a/devices/src/virtio/wl.rs
+++ b/devices/src/virtio/wl.rs
@@ -316,7 +316,7 @@ enum WlError {
     NewAlloc(Error),
     NewPipe(Error),
     AllocSetSize(Error),
-    SocketConnect(io::Error),
+    SocketConnect { path: PathBuf, inner: io::Error },
     SocketNonBlock(io::Error),
     VmControl(MsgError),
     VmBadResponse,
@@ -342,7 +342,9 @@ impl Display for WlError {
             NewAlloc(e) => write!(f, "failed to create shared memory allocation: {}", e),
             NewPipe(e) => write!(f, "failed to create pipe: {}", e),
             AllocSetSize(e) => write!(f, "failed to set size of shared memory: {}", e),
-            SocketConnect(e) => write!(f, "failed to connect socket: {}", e),
+            SocketConnect { path, inner } => {
+                write!(f, "failed to connect socket at {:?}: {}", path, inner)
+            }
             SocketNonBlock(e) => write!(f, "failed to set socket as non-blocking: {}", e),
             VmControl(e) => write!(f, "failed to control parent VM: {}", e),
             VmBadResponse => write!(f, "invalid response from parent VM"),
@@ -600,7 +602,11 @@ impl fmt::Debug for WlVfd {
 
 impl WlVfd {
     fn connect<P: AsRef<Path>>(path: P) -> WlResult<WlVfd> {
-        let socket = UnixStream::connect(path).map_err(WlError::SocketConnect)?;
+        let path = path.as_ref();
+        let socket = UnixStream::connect(path).map_err(|e| WlError::SocketConnect {
+            path: path.to_path_buf(),
+            inner: e,
+        })?;
         let mut vfd = WlVfd::default();
         vfd.socket = Some(socket);
         Ok(vfd)