-
Notifications
You must be signed in to change notification settings - Fork 377
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
virtio-fs service on a win10 QEMU guest fails before restart and user cannot modify created files #550
Comments
|
Encountered a similar problem. After logging in to the WIN10 guest, the folder cannot be created in the drive letter mapped by virtio-fs, but everything is normal after restarting the virtio-fs service. |
|
This issue should have been resolved in commit 57aedaa. Are you working with a version that includes this fix? The virtio-fs service is depending on two other services. The WinFsp.Launcher and the VirtioFsDrv driver. So a manual installation of it should look something like: |
|
Thank you. Does it have a compiled executable? |
|
It works! Thank you so much for having taken care of this so promptly, very much appreciated. This is what I did to compile:
|
|
There's only one small issues left, I write it here as memo for anyone who may face this problem, but I'm content already with the fix... and for what it concerns me this issue can be closed. Here's the description of the remaining issue:
The difference between the two cases seems to me only that in the first case it was me who created the directory. Edited: z:>"c:\Program Files (x86)\WinFsp\bin\fsptool-x64.exe" perm z:\test1.zip z:>Icacls z:\test1.zip |
|
@marcello-pietrobon Can you provide a bit more detail on the process you used to build the driver? For example, I haven't been able to get VisualStudio installed, as I have no idea which "workloads" I need to install. And assuming that I'm able to get the driver built, I'm not at all clear on how to install the updated driver; you wrote that you copied the generated files into the VioFs directory, but I don't have any directory by that name in my Windows 10 guest. Also, don't I have to sign the drivers somehow in order to install them? |
|
Hi @ipilcher The build environment instalaltion instructions are here: https://github.com/virtio-win/kvm-guest-drivers-windows/wiki/Building-the-drivers-using-Visual-Studio-2017 How to test sign during the build: https://docs.microsoft.com/en-us/windows-hardware/drivers/develop/signing-a-driver-during-development-and-testing How to enable test signing on Windows: https://docs.microsoft.com/en-us/windows-hardware/drivers/install/the-testsigning-boot-configuration-option (tl;dr: run "Bcdedit.exe -set TESTSIGNING ON" with administration privileges and reboot). |
|
@marcello-pietrobon Thank you, I will test it later. |
|
I was finally able to work through the process of building and signing the driver. My initial smoke testing seems to confirm that the latest code fixes this problem. Could we please get a signed release with this fix included? The process to build and sign the driver is quite involved (not to mention the need to put the guest into "test mode" in order to use a self-signed driver). |
|
Sorry I couldn't reply sooner. I'm waiting too for a new release with this problem fixed, as meanwhile I have to run the Win VM with "Bcdedit.exe -set TESTSIGNING ON" I used very simple and partial instructions in order to save time and trouble, so if someone else has to go through this... The instructions here are an addition to those I wrote few posts above here. The source code is in c, so you just install the standard C/C++ part of the Visual Studio Community edition installer (the 'Desktop development with C++' tab in the picture you see in Make also sure to go on the 'Individual Components' tab of the installer and select 'Windows Driver Kit'. Now you are set to load the viofs/viofs.sln solution and compile the viofs project in there. The trick that saves you a lot of time is to just compile the viofs part of the kvm-guest-drivers-windows code (that is not the entire library) by using the viofs/viofs.sln solution that you find in there, as just said. On top of Visual Studio you can clearly see and choose the Platform and Configuration you need to compile. Once compiled it appears an 'install' directory under the viofs project, and with the files in there you overwrite those of the original installation (backup them first). At this point, I didn't care signing the drivers, I just used the command "Bcdedit.exe -set TESTSIGNING ON" It's even simpler than it looks like written here. Hope this helps, If somebody wants I can attach the binaries I generated for myself. I didn't change any line of code of course but I don't want to take any responsibility for any problem whatsoever, there shouldn't be any though. M |
|
@YanVugenfirer , hello |
|
@TecEssence we are building new packages based on the added features and fixed bugs. I will check how soon a new version can be uploaded. Best regards, |
|
@YanVugenfirer ,hello We look forward to the new virtio-win installation package, when will it be released? Best regards, |
|
Hello, We are expecting the package during next two week. Best regards, |
|
Hello @YanVugenfirer, Has there been any progress on releasing an updated & signed package with bug fixes? Thanks, |
|
Hello @Dave--G, I am pushing the release of the package. There is a problem with a signature now. MS retired cross-signed certificates, and we are working to attestation sign the release. Most probably the next release will be unsigned, yet. Best regards, |
|
Thanks for the update @YanVugenfirer, This is unfortunate. I understand the certificate matter is out of your hands. This sounds like a significant development. What is virtio-win's long term strategy to resolve this issue? Can you point us to where this is being publicly discussed? |
|
@Dave--G We are working in two directions:
Here are some of the public discussions: |
|
I'm also suffering from this bug. |
|
While waiting for better. Isn't there someone who can share the compiled files? (signed, testsigned or not signed) @marcello-pietrobon @ipilcher ? |
|
@oosoG unsigned drivers build from the current master for Windows 8 and Windows 10 32 and 64bit: https://www.dropbox.com/s/x86xam26uuuc8z7/VirtioFS-Install.zip?dl=0 |
|
Thank you @YanVugenfirer for sharing Its working (question: #590) |
|
Thanks @YanVugenfirer for the unsigned build. This will save some time in setup testing this evening. Can you give us any expectation for when the next signed build will be available? |
|
It looks like the contents of https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/ got an update a few days ago, and after installing that in Windows the |
|
I updated the driver to the latest and while I can rename and modify files, git does not work. My use case is bisecting LibreOffice regression bugs. I can't launch executables, I can't do checkouts. It might initialise some files and then fall on its face. If I do
I get
Can others reproduce the problem with git? I am using git 2.29.2.windows.2 under Powershell 7. I also updated WinFSP to v1.9. Simplest test: Shared dir is defined as |
The service has two dependencies (WinFsp.Launcher and VirtioFsDrv) as noted, for example, at: https://virtio-fs.gitlab.io/howto-windows.html virtio-win/kvm-guest-drivers-windows#550 (comment)
The service has two dependencies (WinFsp.Launcher and VirtioFsDrv) as noted, for example, at: https://virtio-fs.gitlab.io/howto-windows.html virtio-win/kvm-guest-drivers-windows#550 (comment) Signed-off-by: Jonathan Watt <jwatt@jwatt.org>
|
I am also experiencing this bug on Windows 10 LTSC on an Arch Linux host. The virtiofs.exe Windows service appears to crash during some operations and others refuse the ability to write or delete files - I am able to create files and sometimes running executables works however sometimes it does not - possibly in cases where the .exe wants to modify something. I've tried changing file permissions in the shared directory to 777 to see if that might mitigate the problems and the socket is in group KVM. I'm not clear on if what I am experiencing is the same very same issue but on the latest public drivers I installed yesterday this issue appears to still exist. |
|
I also have problems when I perform operations with the virtio-fs shared folder : List of actions made inside guest :
Host config :
Guest config :
|
|
@viktor-prutyanov Please take a look |
|
Hi @Striffly, Thank you for detailed description.
Could you please try adding ...
<filesystem type="mount" accessmode="passthrough">
<driver type="virtiofs" queue="1024"/>
...
</filesystem>
...If it doesn't work, could you please share your libvirt virtiofs-related XML and clarify, what was the approximate size of the file you copying? |
|
Hi @arthurrasmusson,
Could you please clarify, what executables are you using? If these are some private things, have you ever had such a problem with some common executables or even with standard command-line utilities? For now, there is very little information. I can only suggest you to add |
|
@viktor-prutyanov see my comment from August. Are you able to run 'git init' in a shared folder without problems? |
|
Sometimes command reproduces the error you got. But sometimes it works. |
|
@ilmari-lauhakangas, PR #719 is supposed to fix your problem with |
|
Hi @Striffly, @arthurrasmusson, If your problems are still actual, I suggest you to open separate issues with your problems. |
|
i can say some more comments:
dose not work:
no problems with linux guest. event with 770 perms on files. env:
|
|
Hi @agrisvv, Could you please open new issue? Also, please add information about your host filesystem. |
This does not yet include the fix. Would be nice to get an updated ISO. I haven't tested the fix either. |
You can build the driver by yourself. It became much easier with the advent of EWDK: https://github.com/virtio-win/kvm-guest-drivers-windows/wiki/Building-the-drivers-using-Windows-11--EWDK |
I have GZDoom and Steam games in the shared path: |
I am not currently using Libvirt - I'm using LibVF.IO. |
|
@arthurrasmusson, |
Since upgrading packages on Arch I cannot get the VM to start. I'm now using the following parameters on start: On start virtiofsd crashes on the host with the following error message: The host is Arch Linux. Is VirtIO-FS currently considered stable for use with Windows guests? |
What is your QEMU version?
On virtiofsd start or on VM start?
No, it is a tech preview. |
6.2.0
On VM start. |
Seems the vm failed to start, the virtiofsd quit with "virtio_loop: Unexpected poll revents 11", so do you have any error msg from qemu-kvm?
|
|
I have to close this issue because the original problem seems to be solved. Please open new separate issues with your problems, as I previously suggested. |
As probably well known virtio-fs on a Win10(20H2) Windows guest (and maybe other versions too) is unusable for some users.
The way this problem manifests at first is that a user is able to create/delete files or directories on a drive mapped through virtio-fs, but then he cannot modify them in any way (where in the case of a directory this means to add any file to it or remove it).
On a first look this problem appears of the same nature of few others that have been affecting some WinFsp filesystems, but on a further analysis it actually seems to be specific to the virtio-fs driver which, before restart, returns VirtFs->LocalUid == VirtFs->LocalGid == 0 (or better most probably does so).
Once the virtio FS service is restarted (after logging in into the VM at least) the returned uid/gid are correct and the file permissions correctly mapped to those of the underlying linux host filesystem.
A more complete description of this problem is found in virtio-fs with a win10 QEMU guest and WinFsp
I'm available to perform some testing or answer other questions if needed.
Thank you.
Edit: I wonder if the virtio-fs service should be started after some other windows service that I'm not aware of...
The text was updated successfully, but these errors were encountered: