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

Dominik Csapak d.csapak at proxmox.com
Mon Nov 11 11:17:55 CET 2024


and fix passthrough regressions

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

Another case that broke was passing through similar devices with the
same vendor/modelid since the write to vfio-pci's 'new_id' works only
once for the same vendor/modelid.

To fix that make EEXIST errors ignorable for file_write

changes from v3:
* common patch 1/2 is now only adding the logging again
* add a single option for ignoring EEXIST, if we need more in the future 

changes from v2:
* improve comment on file_write
* shorten code with suggestions from stoiko
* fix commit message

changes from v1:
* also include error ignore list
* ignore EEXIST for writing to new_id

0: https://lore.proxmox.com/pve-devel/20240723082925.934603-1-d.csapak@proxmox.com/

pve-common:

Dominik Csapak (2):
  sysfstools: file_write: extend with logging
  sysfstools: fix regression on binding to vfio-pci

 src/PVE/SysFSTools.pm | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

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(-)

-- 
2.39.5





More information about the pve-devel mailing list