[pve-devel] [PATCH common/qemu-server] improve sysfs write behaviour

Stoiko Ivanov s.ivanov at proxmox.com
Tue Nov 5 11:12:56 CET 2024


Thanks big-time for the quick fix!
I encountered this at a machine at home with an older GPU (NVIDIA GT1030) 
passed through to a VM, which seemingly does not handle resets too well.

with both patches applied the guest starts again w/o error - the tasklog
contains:
```
error writing '1' to '/sys/bus/pci/devices/0000:01:00.0/reset': Inappropriate ioctl for device
can't reset PCI device '0000:01:00.0'
```
(similarly this is the output when starting on the commandline with 
`qm start <vmid>`)

with or without the nit/idea for the qemu-server 1/1 patch consider this:

Reviewed-by: Stoiko Ivanov <s.ivanov at proxmox.com>
Tested-by: Stoiko Ivanov <s.ivanov at proxmox.com>

On Tue,  5 Nov 2024 10:24:19 +0100
Dominik Csapak <d.csapak at proxmox.com> wrote:

> As i feared previously in [0], making it a hard error when encountering
> errors during sysfs writes uncovered some situations where our code was
> too strict to keep some setups working.
> 
> One such case is resetting devices, which is seemingly not necessary
> at all times, so this series
> 
> * donwgrades that error to warning
> * adds some more logging to `file_write` to be able to better debug
> 
> Alternatively, we could rewrite file_write such that we can control the
> error behaviour with a parameter and replace all "old" call sites so
> that we ignore errors. But since the only other call sites currently are
> for binding vfio-pci to the device. (which AFAIK is necessary and not
> optional) and setting mdev models (which is also not optional), we should
> mostly be fine with this approach here.
> 
> In [1], some users reported it's breaking, at least one with binding of
> vfio-pci, which I'm currently investigating there to see if it's really
> necessary.
> 
> 0: https://lore.proxmox.com/pve-devel/20240723082925.934603-1-d.csapak@proxmox.com/
> 1: https://forum.proxmox.com/threads/156848/
> 
> pve-common:
> 
> Dominik Csapak (1):
>   sysfstools: file_write: log the actual error if there was one
> 
>  src/PVE/SysFSTools.pm | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> qemu-server:
> 
> Dominik Csapak (1):
>   pci: don't hard require resetting devices for passthrough
> 
>  PVE/QemuServer/PCI.pm | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 





More information about the pve-devel mailing list