[pve-devel] [PATCH v4 many] Add container device passthrough

Filip Schauer f.schauer at proxmox.com
Mon Nov 13 11:30:34 CET 2023


Changes since v1:
* mknod the devices in /var/lib/lxc/$vmid/passthrough and setup proper
  permissions instead of bind mounting the devices from /dev directly
* Add support for USB mapping
* Add foreach_passthrough_device helper function

Changes since v2:
* Remove support for USB mapping
* Add mknod syscall
* Setup a tmpfs to mknod the devices to instead of writing to the host
  file system
* Write passthrough dev list to /var/lib/lxc/$vmid/passthrough_devices
* Move sub foreach_passthrough_device out of the AbstractConfig into the
  container config
* Add mode, uid and gid properties to passthrough device config

Changes since v3:
* Allow only root user to configure device passthrough
* Verify format of device passthrough mode
* Add mount flag constants
* Remove redundant error checks
* Add missing error checks
* Optimize file creation by using mknod instead of touch
* Correctly handle id mapping with multiple ranges

pve-common:

Filip Schauer (2):
  tools: Add mknod syscall
  tools: Add mount flag constants

 src/PVE/Syscall.pm |  1 +
 src/PVE/Tools.pm   | 36 ++++++++++++++++++++++++++++++++++++
 2 files changed, 37 insertions(+)

pve-container:

Filip Schauer (1):
  Add device passthrough

 src/PVE/LXC.pm            | 57 +++++++++++++++++++++++-
 src/PVE/LXC/Config.pm     | 93 +++++++++++++++++++++++++++++++++++++++
 src/PVE/LXC/Tools.pm      | 23 +++++++---
 src/lxc-pve-autodev-hook  | 18 +++++++-
 src/lxc-pve-prestart-hook | 60 ++++++++++++++++++++++++-
 5 files changed, 242 insertions(+), 9 deletions(-)





More information about the pve-devel mailing list