chore: update the vmm-sys-util version

Update to v0.15.0 which supports sock_ctrl_msg on POSIX and adds
a cross platform event notification that uses EventFd when available
or pipe().

Because sock_ctrl_msg modifies the recv_with_fds, we need to modify the test
in vhost/src/vhost-user/connection.rs at the same time

Signed-off-by: Wenyu Huang <huangwenyuu@outlook.com>
This commit is contained in:
Wenyu Huang 2025-07-09 16:20:44 +00:00 committed by Stefano Garzarella
parent 580f19f16b
commit e869735f3f
2 changed files with 21 additions and 8 deletions

View file

@ -10,4 +10,4 @@ members = [
virtio-bindings = "0.2.6" virtio-bindings = "0.2.6"
virtio-queue = "0.16.0" virtio-queue = "0.16.0"
vm-memory = "0.16.2" vm-memory = "0.16.2"
vmm-sys-util = "0.14.0" vmm-sys-util = "0.15.0"

View file

@ -760,9 +760,13 @@ mod tests {
.unwrap(); .unwrap();
assert_eq!(len, 4); assert_eq!(len, 4);
let (bytes, buf4) = backend.recv_data(2).unwrap(); if cfg!(any(target_os = "linux", target_os = "android")) {
assert_eq!(bytes, 2); let _err = backend.recv_data(2).unwrap_err();
assert_eq!(&buf1[..2], &buf4[..]); } else {
let (bytes, buf4) = backend.recv_data(2).unwrap();
assert_eq!(bytes, 2);
assert_eq!(&buf1[..2], &buf4[..]);
}
let (bytes, buf2, files) = backend.recv_into_buf(0x2).unwrap(); let (bytes, buf2, files) = backend.recv_into_buf(0x2).unwrap();
assert_eq!(bytes, 2); assert_eq!(bytes, 2);
assert_eq!(&buf1[2..], &buf2[..]); assert_eq!(&buf1[2..], &buf2[..]);
@ -817,12 +821,21 @@ mod tests {
.unwrap(); .unwrap();
assert_eq!(len, 4); assert_eq!(len, 4);
let (bytes, _) = backend.recv_data(5).unwrap(); if cfg!(any(target_os = "linux", target_os = "android")) {
assert_eq!(bytes, 5); let _err = backend.recv_data(5).unwrap_err();
} else {
let (bytes, _) = backend.recv_data(5).unwrap();
assert_eq!(bytes, 4);
}
let (bytes, _, files) = backend.recv_into_buf(0x4).unwrap(); let (bytes, _, files) = backend.recv_into_buf(0x4).unwrap();
assert_eq!(bytes, 3); if cfg!(any(target_os = "linux", target_os = "android")) {
assert!(files.is_none()); assert_eq!(bytes, 3);
assert!(files.is_none());
} else {
assert_eq!(bytes, 4);
assert!(files.is_some());
}
// If the target fd array is too small, extra file descriptors will get lost. // If the target fd array is too small, extra file descriptors will get lost.
let len = frontend let len = frontend