v2->v3: * add refcounting of limit by # vhost devices, and make vhost_has_free_slot() return true if no vhost devices are present at current moment * move limit initialization to vhost_dev_init() * fail vhost backend intialization if memslots number is more than its supported limit
v1->v2: * replace probbing with checking for /sys/module/vhost/parameters/max_mem_regions and if it's missing has non wrong value return hardcoded legacy limit (64 slots). it's defensive patchset which helps to avoid QEMU crashing at memory hotplug time by checking that vhost has free capacity for an additional memory slot. Igor Mammedov (3): vhost: add vhost_has_free_slot() interface pc-dimm: add vhost slots limit check before commiting to hotplug vhost: fail backend intialization if memslots number is more than its supported limit hw/mem/pc-dimm.c | 7 +++++++ hw/virtio/vhost-backend.c | 21 ++++++++++++++++++++- hw/virtio/vhost-user.c | 8 +++++++- hw/virtio/vhost.c | 29 +++++++++++++++++++++++++++++ include/hw/virtio/vhost-backend.h | 2 ++ include/hw/virtio/vhost.h | 1 + stubs/Makefile.objs | 1 + stubs/vhost.c | 6 ++++++ 8 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 stubs/vhost.c -- 1.8.3.1