- Update to version 1.13.0:

* Bump version to v1.13.0
  * Add and use openat_verbose() where reasonable
  * Revert "openat: Always annotate errors with filename"
  * Add --readonly flag
  * Add PassthroughFsRo as read-only variant
  * Add a note about the required FD state for --fd

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtiofsd?expand=0&rev=30
This commit is contained in:
Caleb Crane 2025-01-18 02:38:00 +00:00 committed by Git OBS Bridge
commit ee3c477202
11 changed files with 314 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

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"
]
}

27
_service Normal file
View File

@ -0,0 +1,27 @@
<services>
<service name="obs_scm" mode="disabled">
<param name="url">https://gitlab.com/virtio-fs/virtiofsd.git</param>
<param name="scm">git</param>
<param name="filename">virtiofsd</param>
<param name="revision">v1.13.0</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">[v]?([^\+]+)(.*)</param>
<param name="versionrewrite-replacement">\1</param>
<param name="changesgenerate">enable</param>
</service>
<service name="set_version" mode="disabled"/>
<service name="tar" mode="disabled"/>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="cargo_vendor" mode="disabled">
<param name="srcdir">virtiofsd</param>
<param name="compression">xz</param>
<param name="update">true</param>
</service>
</services>

3
vendor.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f36d091e4396edf7891a65114330160df6396609c0108e5af341bb2454527080
size 13294008

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

Binary file not shown.

3
virtiofsd-1.11.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a311d0762bdf0904fdbd36fac47a1a382250ce49bf5e9041da5c21ce0d5d4129
size 117492

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

Binary file not shown.

3
virtiofsd-1.13.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5d22548c99686becf0d2941a6c903e2ec50c0ec4cc41e1c8f7f6335cf42b7d06
size 142728

164
virtiofsd.changes Normal file
View File

@ -0,0 +1,164 @@
-------------------------------------------------------------------
Wed Jan 15 10:56:47 UTC 2025 - ddiss@suse.de
- Update to version 1.13.0:
* Bump version to v1.13.0
* Add and use openat_verbose() where reasonable
* Revert "openat: Always annotate errors with filename"
* Add --readonly flag
* Add PassthroughFsRo as read-only variant
* Add a note about the required FD state for --fd
-------------------------------------------------------------------
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
- Fix CVE-2023-50711: vmm-sys-util: out of bounds memory accesses (bsc#1218502, bsc#1218500)
- Update to version 1.10.1:
* Bump version to v1.10.1
* Fix mandatory user namespaces
* Don't drop supplemental groups in unprivileged user namespace
* Bump version to v1.10.0
* Update rust-vmm dependencies (bsc#1218500)
* Bump version to v1.9.0
- Spec: switch to using the upstream virtio-fs config file for qemu
- Spec: switch back to greedy cargo updates of vendored dependencies
-------------------------------------------------------------------
Thu Aug 31 20:28:08 UTC 2023 - Caleb Crane <caleb.crane@suse.com>
- Update to upstream version v1.7.2 (jsc#PED-4980)
- Add supplementary group extension support
- Prevent EPERM failures with O_NOATIME
- Fix cache timeouts
- seccomp: Allow SYS_sched_yield
- Allow to provide the same argument multiple times
- Add the -V/--version options
- Upgrade vendored dependencies
-------------------------------------------------------------------
Fri Jun 2 15:40:06 UTC 2023 - Caleb Crane <caleb.crane@suse.com>
- Add qemu config file to ensure qemu is aware of the virtiofsd executable
- https://www.reddit.com/r/suse/comments/13xmote/vm_with_virtiofs_does_not_start_unable_to_find_a/
-------------------------------------------------------------------
Thu May 25 02:33:51 UTC 2023 - Caleb Crane <caleb.crane@suse.com>
- Remove exclusive arch, only disable for 32-bit archs (i586 and armv7l)
- Add package conflict with the previous implementation of virtiofsd inside
older versions of the qemu-tools package (qemu-tools < 8)
-------------------------------------------------------------------
Tue May 23 13:30:11 UTC 2023 - Caleb Crane <caleb.crane@suse.com>
- Initial release of virtiofsd v1.6.1

75
virtiofsd.spec Normal file
View File

@ -0,0 +1,75 @@
#
# spec file for package virtiofsd
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%if 0%{?suse_version} > 1500
%define _virtiofsd_libexecdir %{_libexecdir}
%else
%define _virtiofsd_libexecdir %{_libexecdir}/%{name}
%endif
Name: virtiofsd
Version: 1.13.0
Release: 0
Summary: A vhost-user virtio-fs device backend written in Rust
Group: Development/Libraries/Rust
License: Apache-2.0
URL: https://gitlab.com/virtio-fs/virtiofsd
Source0: %{name}-%{version}.tar.xz
Source1: vendor.tar.xz
Source2: 50-virtiofsd.json
BuildRequires: cargo
BuildRequires: cargo-packaging
BuildRequires: libcap-ng-devel
BuildRequires: libseccomp-devel
Conflicts: qemu-tools < 8
ExcludeArch: %ix86 %arm
%description
A vhost-user virtio-fs device backend written in Rust
%prep
%autosetup -a1
# Adjust libvirt/virtiofsd interop config file to handle differences in
# the definition of libexecdir macro on SLE and Tumbleweed (bsc#1219772)
sed -i 's#@@LIBEXECDIR@@#%{_virtiofsd_libexecdir}#' %{SOURCE2}
%build
%{cargo_build}
%install
mkdir -p %{buildroot}%{_virtiofsd_libexecdir}
install -D -p -m 0755 %{_builddir}/%{name}-%{version}/target/release/virtiofsd %{buildroot}%{_virtiofsd_libexecdir}/virtiofsd
install -D -p -m 0644 %{SOURCE2} %{buildroot}%{_datadir}/qemu/vhost-user/50-virtiofsd.json
%check
%{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
%doc README.md
%{_libexecdir}/virtiofsd
%dir %{_datadir}/qemu
%dir %{_datadir}/qemu/vhost-user
%{_datadir}/qemu/vhost-user/50-virtiofsd.json
%changelog