Is block device attachment with Xen PV Disk Drivers the only thing that is not working for you in QWT? Or nothing from QWT works at all (clipboard/file move/copy/etc)?
There seems to be an issue with Xen PV Disk Drivers and btrfs:
opened 03:23AM - 02 Oct 24 UTC
T: bug
P: major
needs diagnosis
C: storage
affects-4.2
[How to file a helpful issue](https://www.qubes-os.org/doc/issue-tracking/)
#… ## Qubes OS release
Qubes Release 4.2.3 (R4.2)
### Brief summary
There shouldn't be a use of direct-io on Btrfs because it can lead to various problems.
This would cause CSUM error, which is described in the [documentation of PROXMOX](https://pve.proxmox.com/wiki/Storage:_BTRFS) and there's also an related [issue](https://bugzilla.redhat.com/show_bug.cgi?id=1914433#c25) on the Bugzilla for Fedora. What's more, there are also related [discussions](https://patchwork.kernel.org/project/linux-btrfs/patch/5d52220b-177d-72d4-7825-dbe6cbf8722f@inwind.it/) on the Btrfs mailing list.
Even if direct IO does not cause errors, this setting would also [prevent](https://btrfs.readthedocs.io/en/latest/Compression.html#compatibility) the built-in compression functionality of Btrfs from working properly.
### Steps to reproduce
Run `sudo losetup --list` on a Btrfs based Qubes OS to see that DIO is listed as having a value of 1.
### Expected behavior
Direct IO should be disabled.
### Actual behavior
It's enabled on Btrfs based installation.
### Note
The commit states that this behavior has been [reverted](https://github.com/QubesOS/qubes-vmm-xen/commit/62622997c89d5fc52bbe6895d563c80d9cc1c18e), but I assume it's still being used since the not-script.c introduced in R4.2, which [uses](https://github.com/QubesOS/qubes-linux-utils/blob/e6a80c786a2e520d9417d61c5331910d0785cf40/not-script/not-script.c#L74) `LO_FLAGS_DIRECT_IO`. (I'm unfamiliar with the code of Qubes OS, so this might be incorrect.)
And maybe it leads to some [regression](https://github.com/QubesOS/qubes-issues/issues/5426#issuecomment-1880579969_) on Btrfs, making qubes on Btrfs slow. I made this conjecture because the file "not-script.c" does not exist in R4.1. I'm not sure about this, because I can't simply disable the DIO for testing purposes; if someone could tell me how to do it, I'd be happy to try.
I’ve tried attaching the block device to Windows qube with latest Xen drivers (not from QWT) and it worked before:
The v9 Xen PV drivers works the same way as QWT PV drivers for me in Windows 10.
Enable testsigning in WIndows by running this command in admin console:
bcdedit /set testsigning on
Restart qube.
Install xenbus and xenvbd drivers.
Restart qube.
In some Linux disposable qube run these commands to create test block device:
dd if=/dev/zero of=tst bs=1M count=256
sudo losetup -f tst
Attach this block device to Windows qube.
Open Disk Management and initialize/format the disk.
Create some te…
But the result could be inconsistent because of the issue with btrfs.