!101 Update StratoVirt to version 2.4.0

From: @wenyuanlau 
Reviewed-by: @yezengruan 
Signed-off-by: @yezengruan
This commit is contained in:
openeuler-ci-bot 2024-05-11 06:52:53 +00:00 committed by Gitee
commit 4c6bbc0094
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
4 changed files with 7 additions and 94 deletions

View File

@ -5,8 +5,8 @@
%define _unpackaged_files_terminate_build 0
Name: stratovirt
Version: 2.2.0
Release: 16
Version: 2.4.0
Release: 1
Summary: StratoVirt is an opensource VMM(Virtual Machine Manager) which aims to perform next generation virtualization.
License: MulanPSL-2.0
@ -16,9 +16,6 @@ Source0: https://gitee.com/openeuler/stratovirt/releases/download/v%{vers
ExclusiveArch: x86_64 aarch64
Patch001: util-byte_code-Fix-UT-failure-under-high-version-rus.patch
Patch002: vsock-diable-VIRTIO_F_ACCESS_PLATFORM-feature.patch
Requires: pixman
Requires: pixman-devel
@ -66,10 +63,7 @@ Summary: %{summary}
%files -n stratovirt
%defattr(-,root,root,-)
%{_bindir}/stratovirt
%{_bindir}/ozone
%{_bindir}/vhost_user_fs
%{_libdir}/stratovirt/static/stratovirt
%{_libdir}/stratovirt/static/vhost_user_fs
%prep
%autosetup -p1
@ -89,10 +83,10 @@ sed -i '/\[build\]/arustflags = \["-Copt-level=3", "-Cdebuginfo=2", "-Clink-arg=
sed -i 's/rustflags = \[/&"-Clink-arg=-lgcc", /' ./.cargo/config
%endif
%{_cargo} build --release -Z avoid-dev-deps --target=%{rust_musl_target} --all-features
%{_cargo} build --release -Z avoid-dev-deps --target=%{rust_musl_target} --features "boot_time pvpanic demo_device vnc vnc_auth ramfb virtio_gpu trace_to_logger trace_to_ftrace trace_to_hitrace"
sed -i 's/rustflags = \[/&"-Clink-arg=-lpixman-1", /' ./.cargo/config
%{_cargo} build --release -Z avoid-dev-deps --target=%{rust_gnu_target} --all-features
%{_cargo} build --release -Z avoid-dev-deps --target=%{rust_gnu_target} --features "boot_time pvpanic demo_device vnc vnc_auth ramfb virtio_gpu trace_to_logger trace_to_ftrace trace_to_hitrace"
%check
RUST_BACKTRACE=1 cargo test --workspace --exclude mod_test -- --nocapture --test-threads=1
@ -101,14 +95,14 @@ RUST_BACKTRACE=1 cargo test --workspace --exclude mod_test -- --nocapture --test
rm -rf %{buildroot}
install -d %{buildroot}%{_bindir}
install -D -m555 ./target/%{rust_gnu_target}/release/stratovirt %{buildroot}%{_bindir}
install -D -m555 ./target/%{rust_musl_target}/release/ozone %{buildroot}%{_bindir}
install -D -m555 ./target/%{rust_gnu_target}/release/vhost_user_fs %{buildroot}%{_bindir}
install -d %{buildroot}%{_libdir}/stratovirt/static
install -D -m555 ./target/%{rust_musl_target}/release/stratovirt %{buildroot}%{_libdir}/stratovirt/static
install -D -m555 ./target/%{rust_musl_target}/release/vhost_user_fs %{buildroot}%{_libdir}/stratovirt/static
%changelog
* Fri May 10 2024 wenyuanlau <liuwenyuan9@huawei.com> 2.4.0-1
- Update to StratoVirt 2.4.0
* Mon Sep 11 2023 yezengruan <yezengruan@huawei.com> 2.2.0-16
- Add README.md

View File

@ -1,39 +0,0 @@
From 8604dc722c504d943791a2b4039308bb05cbb728 Mon Sep 17 00:00:00 2001
From: Keqian Zhu <zhukeqian1@huawei.com>
Date: Wed, 1 Mar 2023 09:17:04 +0800
Subject: [PATCH] util/byte_code: Fix UT failure under high version rustc
The memory layout of high version rustc is different, use
repr C to fix the layout.
Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com>
---
util/src/byte_code.rs | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/util/src/byte_code.rs b/util/src/byte_code.rs
index cd460459..0bdfe086 100644
--- a/util/src/byte_code.rs
+++ b/util/src/byte_code.rs
@@ -75,6 +75,7 @@ impl ByteCode for i128 {}
mod test {
use super::*;
+ #[repr(C)]
#[allow(dead_code)]
#[derive(Copy, Clone, Default)]
struct TestData {
@@ -105,9 +106,9 @@ mod test {
};
let mut target = Vec::new();
+ target.extend_from_slice(b"bytecode");
target.extend_from_slice(&[0x79, 0x56, 0x34, 0x12]);
target.extend_from_slice(&[0_u8; 4]);
- target.extend_from_slice(b"bytecode");
assert_eq!(data.as_bytes().to_vec(), target);
// Convert failed because byte stream's length is not equal to size of struct.
--
2.33.0

View File

@ -1,42 +0,0 @@
From 7e8d64b3c21f606dd0b030f324b098444d489bc3 Mon Sep 17 00:00:00 2001
From: Yan Wang <wangyan122@huawei.com>
Date: Fri, 1 Sep 2023 17:19:26 +0800
Subject: [PATCH] vsock: diable VIRTIO_F_ACCESS_PLATFORM feature
Currently, we don't support VIRTIO_F_ACCESS_PLATFORM feature.
So, disable it.
Signed-off-by: Yan Wang <wangyan122@huawei.com>
---
virtio/src/vhost/kernel/vsock.rs | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/virtio/src/vhost/kernel/vsock.rs b/virtio/src/vhost/kernel/vsock.rs
index 17bc342..2b05fd0 100644
--- a/virtio/src/vhost/kernel/vsock.rs
+++ b/virtio/src/vhost/kernel/vsock.rs
@@ -30,7 +30,8 @@ use crate::VirtioError;
use anyhow::{anyhow, bail, Context, Result};
use super::super::super::{
- Queue, VirtioDevice, VirtioInterrupt, VirtioInterruptType, VIRTIO_TYPE_VSOCK,
+ Queue, VirtioDevice, VirtioInterrupt, VirtioInterruptType, VIRTIO_F_ACCESS_PLATFORM,
+ VIRTIO_TYPE_VSOCK,
};
use super::super::{VhostNotify, VhostOps};
use super::{VhostBackend, VhostIoHandler, VHOST_VSOCK_SET_GUEST_CID, VHOST_VSOCK_SET_RUNNING};
@@ -174,9 +175,10 @@ impl VirtioDevice for Vsock {
backend
.set_owner()
.with_context(|| "Failed to set owner for vsock")?;
- self.state.device_features = backend
+ let features = backend
.get_features()
.with_context(|| "Failed to get features for vsock")?;
+ self.state.device_features = features & !(1_u64 << VIRTIO_F_ACCESS_PLATFORM);
self.backend = Some(backend);
Ok(())
--
2.34.1