-
Notifications
You must be signed in to change notification settings - Fork 376
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 produces corrupted data on copy/move #764
Comments
I use qemu-kvm-7.0.0-2.el9.x86_64 and virtiofsd pkg, copying folder works. rpm -qf /usr/libexec/virtiofsdvirtiofsd-1.1.0-4.el9_0.x86_64 You can have a try with virtiofsd. |
It only fails sometimes. How many times and how large folders have you tried to copy?
From the version number I am guessing you are using the Rust virtiofsd implementation? Or the normal ANSI C one? |
Hi, I tried this test scenario again for 5 times, copying about 10G files , it still works well.
Yes, it's virtiofsd rust version. |
@xiagao Sorry slightly offtopic but is there a reason you're using the Rust version? |
Hi, Regards, |
Describe the bug
When I try to copy/move folders with content, some resulting files/folders have corrupted names and their content is unreadable.
To Reproduce
I can reproduce it around 1/5 times with folders having some dozens to hundreds of MB content. This happens despite the
queue="1024"
workaround for the known >2MB copy issue.Expected behavior
Copy/move of folders does not result in corrupted data.
Screenshots
Host:
Disto: Arch Linux
Kernel version: 5.17.1-zen1-1-zen
QEMU version: 6.2.0-4
QEMU command line
/usr/bin/qemu-system-x86_64 -name guest=Win11,debug-threads=on -S -object {"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain-37-Win11/master-key.aes"} -blockdev {"driver":"file","filename":"/usr/share/edk2-ovmf/x64/OVMF_CODE.secboot.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"} -blockdev {"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"} -blockdev {"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/Win11_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"} -blockdev {"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"} -machine pc-q35-6.2,usb=off,vmport=off,smm=on,dump-guest-core=off,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,memory-backend=pc.ram -accel kvm -cpu host,migratable=off,topoext=on,hv-time=on,hv-passthrough=on,hv-relaxed=on,hv-vapic=on,hv-spinlocks=0x1fff,host-cache-info=on,l3-cache=off -global driver=cfi.pflash01,property=secure,value=on -m 8192 -object {"qom-type":"memory-backend-file","id":"pc.ram","mem-path":"/dev/hugepages/libvirt/qemu/37-Win11","share":true,"x-use-canonical-path-for-ramblock-id":false,"prealloc":true,"size":8589934592} -overcommit mem-lock=off -smp 12,sockets=1,dies=1,cores=6,threads=2 -uuid 004bfcd5-b6a2-4ff9-984c-d074c362b459 -no-user-config -nodefaults -chardev socket,id=charmonitor,fd=35,server=on,wait=off -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -global kvm-pit.lost_tick_policy=delay -no-hpet -no-shutdown -global ICH9-LPC.disable_s3=1 -global ICH9-LPC.disable_s4=1 -boot strict=on -device pcie-root-port,port=16,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x2 -device pcie-root-port,port=17,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1 -device pcie-root-port,port=18,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x2 -device pcie-root-port,port=19,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3 -device pcie-root-port,port=20,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x4 -device pcie-root-port,port=21,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x5 -device pcie-root-port,port=22,chassis=7,id=pci.7,bus=pcie.0,addr=0x2.0x6 -device pcie-root-port,port=23,chassis=8,id=pci.8,bus=pcie.0,addr=0x2.0x7 -device pcie-root-port,port=24,chassis=9,id=pci.9,bus=pcie.0,multifunction=on,addr=0x3 -device pcie-pci-bridge,id=pci.10,bus=pci.1,addr=0x0 -device pcie-root-port,port=25,chassis=11,id=pci.11,bus=pcie.0,addr=0x3.0x1 -device pcie-root-port,port=26,chassis=12,id=pci.12,bus=pcie.0,addr=0x3.0x2 -device pcie-root-port,port=27,chassis=13,id=pci.13,bus=pcie.0,addr=0x3.0x3 -device pcie-root-port,port=28,chassis=14,id=pci.14,bus=pcie.0,addr=0x3.0x4 -device pcie-root-port,port=29,chassis=15,id=pci.15,bus=pcie.0,addr=0x3.0x5 -device qemu-xhci,p2=15,p3=15,id=usb,bus=pci.4,addr=0x0 -device virtio-scsi-pci,id=scsi0,bus=pci.5,addr=0x0 -device virtio-serial-pci,id=virtio-serial0,bus=pci.6,addr=0x0 -device usb-ccid,id=ccid0,bus=usb.0,port=1 -device ide-cd,bus=ide.0,id=sata0-0-0 -device ide-cd,bus=ide.1,id=sata0-0-1 -blockdev {"driver":"host_device","filename":"/dev/zvol/ZfsRoot/vm/Win11/hdOs","aio":"native","node-name":"libvirt-2-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"} -blockdev {"node-name":"libvirt-2-format","read-only":false,"discard":"unmap","cache":{"direct":true,"no-flush":false},"driver":"raw","file":"libvirt-2-storage"} -device virtio-blk-pci,bus=pci.3,addr=0x0,drive=libvirt-2-format,id=virtio-disk0,bootindex=1,write-cache=on -blockdev {"driver":"host_device","filename":"/dev/zvol/ZfsRoot/vm/Win11/hdData","aio":"native","node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"} -blockdev {"node-name":"libvirt-1-format","read-only":false,"discard":"unmap","cache":{"direct":true,"no-flush":false},"driver":"raw","file":"libvirt-1-storage"} -device virtio-blk-pci,bus=pci.7,addr=0x0,drive=libvirt-1-format,id=virtio-disk1,write-cache=on -chardev socket,id=chr-vu-fs0,path=/var/lib/libvirt/qemu/domain-37-Win11/fs0-fs.sock -device vhost-user-fs-pci,id=fs0,chardev=chr-vu-fs0,queue-size=1024,tag=Shared,bus=pci.14,addr=0x0 -netdev tap,fd=36,id=hostnet0,vhost=on,vhostfd=38 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:7d:ab:61,bus=pci.2,addr=0x0 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0,index=0 -chardev spicevmc,id=charchannel0,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 -chardev spiceport,id=charchannel1,name=org.spice-space.webdav.0 -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=org.spice-space.webdav.0 -chardev socket,id=charchannel2,fd=34,server=on,wait=off -device virtserialport,bus=virtio-serial0.0,nr=3,chardev=charchannel2,id=channel2,name=org.qemu.guest_agent.0 -device virtio-keyboard-pci,id=input2,bus=pci.11,addr=0x0 -device virtio-tablet-pci,id=input3,bus=pci.12,addr=0x0 -audiodev {"id":"audio1","driver":"spice"} -spice port=0,disable-ticketing=on,image-compression=off,gl=on,rendernode=/dev/dri/renderD128,seamless-migration=on -device qxl-vga,id=video0,max_outputs=1,ram_size=67108864,vram_size=67108864,vram64_size_mb=0,vgamem_mb=16,bus=pcie.0,addr=0x1 -device ich9-intel-hda,id=sound0,bus=pcie.0,addr=0x1b -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0,audiodev=audio1 -device virtio-balloon-pci,id=balloon0,bus=pci.8,addr=0x0 -object {"qom-type":"rng-random","id":"objrng0","filename":"/dev/urandom"} -device virtio-rng-pci,rng=objrng0,id=rng0,bus=pci.9,addr=0x0 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny -device vhost-vsock-pci,id=vsock0,guest-cid=3,vhostfd=31,bus=pci.13,addr=0x0 -msg timestamp=on
libvirt version: 8.2.0-7
libvirt XML file:
VM:
Additional context
queue="1024"
The text was updated successfully, but these errors were encountered: