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