Part of an ongoing quest to fix: libvirt management of VFIO devices can lead to host crashes https://bugzilla.redhat.com/show_bug.cgi?id=1272300 Previous episode: [PATCH v2 0/9] PCI hostdev refactoring https://www.redhat.com/archives/libvir-list/2016-January/msg01066.html The plan: Once this is in, rebase the series mentioned above on top of it; hopefully it will be smaller and easier to review. Once *that* is in, rebase / rewrite the actual bug fix - probably the latter, because the code has changed a lot since I posted it In this episode: 01-06 Cleanups in the test cases; mostly unrelated, but commit 24 depends on them 07-17 More cleanups and (I believe) farily uncontroversial changes, aimed at making the actual changes either smaller or more obvious 18-19 Change in variable names that make the intended semantics clearer, which should in turn make the follow-up changes easier to review Up until here there should be basically no change in behavior 20 Bug fix 21 Improvement to error reporting 22 The whole point of this series, and also the commit where it's more likely that I might have gotten something wrong :) I haven't been able to figure out a way to split it into smaller chunks, sorry 23 Another bug fix 24 Test the changes made by the rest of the series Cheers. Andrea Bolognani (24): tests: hostdev: Remove magic numbers tests: hostdev: Use better variable names tests: hostdev: Declare count inside CHECK_LIST_COUNT() tests: hostdev: Use size_t for count variables tests: hostdev: Add more checks on list size tests: hostdev: Group test cases hostdev: Make comments easier to change later hostdev: Remove false comment hostdev: Fix indentation hostdev: Remove explicit NULL checks hostdev: Remove redundant check hostdev: virHostdevIsPCINetDevice() should return a bool hostdev: Change argument order for virHostdevReattachPCIDevice() hostdev: Look up devices using IDs when possible hostdev: Remove virHostdevGetActivePCIHostDeviceList() hostdev: Rename hostdev_mgr -> mgr hostdev: Rename usesVfio -> usesVFIO hostdev: Use consistent variable names hostdev: Add more comments hostdev: Save netdev configuration of actual device hostdev: Stop early if unmanaged devices have not been detached hostdev: Streamline device ownership tracking hostdev: Use actual device when reattaching tests: hostdev: Add more tests src/util/virhostdev.c | 660 +++++++++++++++++++++++++------------------------ tests/virhostdevtest.c | 320 ++++++++++++++++++------ 2 files changed, 576 insertions(+), 404 deletions(-) -- 2.5.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list