Re: [PATCH 1/2] qemu: Drop support for C implementation of virtiofsd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On a Thursday in 2023, Michal Prívozník wrote:
On 12/12/23 13:07, Peter Krempa wrote:
On Tue, Dec 12, 2023 at 12:50:52 +0100, Michal Privoznik wrote:
Virtiofsd has two implementations: C and Rust. The former is now
deprecated (QEMU commit v7.0.0-rc0~52^2~1) and in fact removed
from QEMU (QEMU commit v8.0.0-rc0~55). While Rust version was
originally a drop in replacement it is not the case anymore. Some
arguments are silently ignored (like file locking) and there's no
way to make them work for both implementations.

Remove support for the C implementation.

Note that the virtiofs support in qemu seems to start dating from
qemu-5.0 thus was already availabile at least in RHEL/CentOS 8

Now the rust version:

https://repology.org/project/virtiofsd/versions

is not available there.

Since according to our platform support policy we're still about to
support rhel-8 for another ~7 months I'm not sure we should be doing
this. At least not with any form of proper justification, that this
commit message is not providing.


Fair enough. I've noticed some warnings emitted by virtiofsd when I was
debugging something else and I thought: let's fix them. And while Rust
version was supposed to be a drop in replacement it's not the case
anymore (though - I wonder if that ever was the case) as it has moved on.

Now, what we usually do in this case is: capabilities. We could run the
binary and try to guess if it is C or Rust version. But writing all of
that code just so that it can be deleted in ~7 months, just no. So let's
keep the code as is and these can be applied after RHEL-8 is dropped.


Running the binary and guessing stuff is the approach we took when we
used to parse QEMU's --help output. I'm glad that code is gone and
I hope we don't have to do any guessing in the future.

For virtiofsd users, most will have the vhost-user json file:

$ cat /usr/share/qemu/vhost-user/50-qemu-virtiofsd.json
{
  "description": "QEMU virtiofsd vhost-user-fs",
  "type": "fs",
  "binary": "/usr/libexec/virtiofsd"
}

which can in theory contain some hints/capabilities that would let us
tell them apart.

I reported the bug against virtiofsd:
https://issues.redhat.com/browse/RHEL-7415
However the discussion died out and I did not volunteer any patches,
since I don't like writing code that should be deleted soon.

The approach however won't work for some old RHEL/CentOS releases,
where the .json file was installed in some weird location and in cases
where the user supplies their own path to the virtiofsd binary (e.g.
to some build from git) - the former will likely use the old options,
while the git build will probably have the new ones.

(Also note that the ~7 months deadline is for RHEL/CentOS, Peter did not
check whether other distros still ship the old virtiofsd.)

Jano

Though, one could argue that the set of users that runs libvirt from git
but qemu from repo on RHEL/CentOS 8 is relatively small, the rule we
have is a bit different.

Michal
_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux