Sync from SUSE:SLFO:Main virtiofsd revision dd1b96f8d15be807d383992ca43a1ffe

This commit is contained in:
Adrian Schröter 2024-10-30 16:17:03 +01:00
parent a2e826ba60
commit b59d72af86
8 changed files with 149 additions and 25 deletions

9
50-virtiofsd.json Normal file
View File

@ -0,0 +1,9 @@
{
"description": "virtiofsd vhost-user-fs",
"type": "fs",
"binary": "@@LIBEXECDIR@@/virtiofsd",
"features": [
"migrate-precopy",
"separate-options"
]
}

View File

@ -3,7 +3,7 @@
<param name="url">https://gitlab.com/virtio-fs/virtiofsd.git</param> <param name="url">https://gitlab.com/virtio-fs/virtiofsd.git</param>
<param name="scm">git</param> <param name="scm">git</param>
<param name="filename">virtiofsd</param> <param name="filename">virtiofsd</param>
<param name="revision">v1.10.1</param> <param name="revision">v1.12.0</param>
<param name="versionformat">@PARENT_TAG@</param> <param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">[v]?([^\+]+)(.*)</param> <param name="versionrewrite-pattern">[v]?([^\+]+)(.*)</param>
<param name="versionrewrite-replacement">\1</param> <param name="versionrewrite-replacement">\1</param>
@ -19,10 +19,6 @@
<param name="compression">xz</param> <param name="compression">xz</param>
</service> </service>
<service name="cargo_audit" mode="disabled">
<param name="srcdir">virtiofsd</param>
</service>
<service name="cargo_vendor" mode="disabled"> <service name="cargo_vendor" mode="disabled">
<param name="srcdir">virtiofsd</param> <param name="srcdir">virtiofsd</param>
<param name="compression">xz</param> <param name="compression">xz</param>

View File

@ -1,5 +0,0 @@
[source.crates-io]
replace-with = "vendored-sources"
[source.vendored-sources]
directory = "vendor"

BIN
vendor.tar.xz (Stored with Git LFS)

Binary file not shown.

BIN
virtiofsd-1.10.1.tar.xz (Stored with Git LFS)

Binary file not shown.

BIN
virtiofsd-1.12.0.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,3 +1,113 @@
-------------------------------------------------------------------
Wed Oct 16 17:24:41 UTC 2024 - caleb.crane@suse.com
- Update to version 1.12.0:
* Bump version to v1.12.0
* Add file-handles migration mode
* Serialize mount FD map
* Deserialize file handles
* Build mount FD map on deserialization
* Add MigrationMode::FileHandles
* PassthroughFsV2
* Allow deserializing serializable file handles
* Extract serialized::Inode.deserialize_root_node()
-------------------------------------------------------------------
Thu Oct 3 18:55:20 UTC 2024 - Caleb Crane <caleb.crane@suse.com>
- Spec: Add direct dependency on cargo in addition to cargo-packaging.
This fixes build errors on 15SP7 where the inherited version of Rust
is too old
-------------------------------------------------------------------
Thu Aug 8 19:57:34 UTC 2024 - Caleb Crane <caleb.crane@suse.com>
- Service: Remove deprecated cargo_config and cargo_audit services, both
are now handled by the cargo_vendor service
- Add new upstream features for the libvirt/virtiofsd interop config
-------------------------------------------------------------------
Thu Aug 08 08:13:17 UTC 2024 - Xiaoguang Wang <xiaoguang.wang@suse.com>
- Fix build failure after update to Rust 1.80 (bsc#1228972)
- Update to version 1.11.1:
* Changes since 1.11.0:
* Add "separate-options" capability
* Force-call DESTROY on INIT
* Do not require --shared-dir to print capabilities
* Enable notification on vring failure
* Bump version to v1.11.0
* deps: Update to the latest rust-vmm crates
* deps: Update to the latest libc
* Note migration capability
* README: Document new migration switches
* Introduce --migration-mode switch
* Introduce --migration-confirm-paths
* PassthroughFs::init: Point to NegotiatedOpts
* Implement device state deserialization
* Add get_path_by_fd()/printable_fd() functions
* Implement device state serialization
* Implement preserialization/premigration
* Define our serialized device state
* Introduce serializable file handles
* Introduce --migration-verify-handles
* Introduce --migration-on-error switch
* Allow explicitly invalid inodes and handles
* Split try_lookup() off of do_lookup()
* Add ReadDir::new_no_seek()
* Put open_root_node() into own function
* Add type for strong inode references
* Hide InodeStore locking
* Remove `&Inode` indirection
* Add device state infrastructure
* Add ErrorContext, ResultErrorContext traits
* Add other_io_error() utility function
* Add support for dirty memory logging
* opt: Introduce --allow-mmap flag
* fuse: Enable DIRECT_IO_ALLOW_MMAP with --allow-mmap
* Add '--shared-dir' as required if '-o' is missing
* Close the listener in the parent process
* Check if the socket parent directory exists
* Check if the shared directory exists
* deps: Bump syslog version
* Increase maximum virtqueue size to 32768
* Allow multiple uid/gid maps
* Hide clippy warning in readdir
* Shorten `std::result::Result` where possible
* Remove redundant Result imports
* deps: Bump vhost and vhost-user-backend versions
* Remove virtio-bindings feature
* Directly write uid/gidmap where possible
* Fix clippy warning: Complicated `match` condition
* Fix clippy warning: Skip converting to owned
* Fix clippy warning: Make use of `.cloned()`
* Fix new compiler warnings
-------------------------------------------------------------------
Thu Mar 7 14:03:20 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Fix libexecdir move: rpm cannot replace a directory with a single
file on upgrades -- boo#1220592
* Add pre scriptlet removing the directory on Tumbleweed during
upgrades
* Don't own plain %_libexecdir on Tumbleweed
-------------------------------------------------------------------
Wed Feb 28 15:08:19 UTC 2024 - Caleb Crane <caleb.crane@suse.com>
- Spec: More tweaks to libexecdir path issues on SLE and Tumbleweed
-------------------------------------------------------------------
Mon Feb 26 14:16:30 UTC 2024 - Caleb Crane <caleb.crane@suse.com>
- Spec: We don't want /usr/libexec to be namespaced like it is with /usr/lib (bsc#1220304)
-------------------------------------------------------------------
Thu Feb 22 03:02:23 UTC 2024 - Caleb Crane <caleb.crane@suse.com>
- Spec: Adjust libvirt/virtiofsd interop config file to handle differences in
the definition of libexecdir macro on SLE and Tumbleweed (bsc#1219772)
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Jan 30 17:09:25 UTC 2024 - caleb.crane@suse.com Tue Jan 30 17:09:25 UTC 2024 - caleb.crane@suse.com
@ -15,7 +125,7 @@ Tue Jan 30 17:09:25 UTC 2024 - caleb.crane@suse.com
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Aug 31 20:28:08 UTC 2023 - Caleb Crane <caleb.crane@suse.com> Thu Aug 31 20:28:08 UTC 2023 - Caleb Crane <caleb.crane@suse.com>
- Update to upstream version v1.7.2 (jsc#4980) - Update to upstream version v1.7.2 (jsc#PED-4980)
- Add supplementary group extension support - Add supplementary group extension support
- Prevent EPERM failures with O_NOATIME - Prevent EPERM failures with O_NOATIME
- Fix cache timeouts - Fix cache timeouts

View File

@ -16,16 +16,23 @@
# #
%if 0%{?suse_version} > 1500
%define _virtiofsd_libexecdir %{_libexecdir}
%else
%define _virtiofsd_libexecdir %{_libexecdir}/%{name}
%endif
Name: virtiofsd Name: virtiofsd
Version: 1.10.1 Version: 1.12.0
Release: 0 Release: 0
Summary: vhost-user virtio-fs device backend written in Rust Summary: A vhost-user virtio-fs device backend written in Rust
Group: Development/Libraries/Rust Group: Development/Libraries/Rust
License: Apache-2.0 License: Apache-2.0
URL: https://gitlab.com/virtio-fs/virtiofsd URL: https://gitlab.com/virtio-fs/virtiofsd
Source0: %{name}-%{version}.tar.xz Source0: %{name}-%{version}.tar.xz
Source1: vendor.tar.xz Source1: vendor.tar.xz
Source2: cargo_config Source2: 50-virtiofsd.json
BuildRequires: cargo
BuildRequires: cargo-packaging BuildRequires: cargo-packaging
BuildRequires: libcap-ng-devel BuildRequires: libcap-ng-devel
BuildRequires: libseccomp-devel BuildRequires: libseccomp-devel
@ -33,24 +40,31 @@ Conflicts: qemu-tools < 8
ExcludeArch: %ix86 %arm ExcludeArch: %ix86 %arm
%description %description
vhost-user virtio-fs device backend written in Rust A vhost-user virtio-fs device backend written in Rust
%prep %prep
%autosetup -a1 %autosetup -a1
mkdir .cargo # Adjust libvirt/virtiofsd interop config file to handle differences in
cp %{SOURCE2} .cargo/config # the definition of libexecdir macro on SLE and Tumbleweed (bsc#1219772)
sed -i 's#@@LIBEXECDIR@@#%{_virtiofsd_libexecdir}#' %{SOURCE2}
%build %build
%{cargo_build} %{cargo_build}
%install %install
mkdir -p %{buildroot}%{_libexecdir} mkdir -p %{buildroot}%{_virtiofsd_libexecdir}
install -D -p -m 0755 %{_builddir}/%{name}-%{version}/target/release/virtiofsd %{buildroot}%{_libexecdir}/virtiofsd install -D -p -m 0755 %{_builddir}/%{name}-%{version}/target/release/virtiofsd %{buildroot}%{_virtiofsd_libexecdir}/virtiofsd
install -D -p -m 0644 %{_builddir}/%{name}-%{version}/50-virtiofsd.json %{buildroot}%{_datadir}/qemu/vhost-user/50-virtiofsd.json install -D -p -m 0644 %{SOURCE2} %{buildroot}%{_datadir}/qemu/vhost-user/50-virtiofsd.json
%check %check
%{cargo_test} %{cargo_test}
%if 0%{?suse_version} > 1500
# transition from old subdirectory to single file: rpm can't replace a directory on upgrades, force delete
%pre
[ ! -d %{_libexecdir}/%{name} ] || rm -r %{_libexecdir}/%{name}
%endif
%files %files
%doc README.md %doc README.md
%{_libexecdir}/virtiofsd %{_libexecdir}/virtiofsd