On Thu, Aug 05, 2021 at 11:33:11AM -0600, Alex Williamson wrote:
+static int vfio_pci_is_device_in_set(struct pci_dev *pdev, void *data) +{
- struct vfio_device_set *dev_set = data;
- struct vfio_device *cur;
- lockdep_assert_held(&dev_set->lock);
- list_for_each_entry(cur, &dev_set->device_list, dev_set_list)
if (cur->dev == &pdev->dev)
return 0;
- return -EBUSY;
+}
+static bool vfio_pci_dev_set_needs_reset(struct vfio_device_set *dev_set)
Slight nit on the name here since we're essentially combining needs_reset along with the notion of the device being unused. I'm not sure, maybe "should_reset"? Otherwise it looks ok. Thanks,
What I did is add a new function vfio_pci_dev_set_resettable() which pulls in three parts of logic that can be be shared with the VFIO_DEVICE_PCI_HOT_RESET change in the next patch. That leaves this function as purely needs_reset.
In turn the VFIO_DEVICE_PCI_HOT_RESET patch gets the same treatment where it becomes a dev_set centric API just like this.
I'll send it as a v4.
Thanks, Jason