{"push_id":954138053,"size":16,"distinct_size":1,"ref":"refs/heads/vhostuser_network","head":"eee4675a2912c2748d4c30b8076b7de1e0f3dfb6","before":"6c1285b95f26c368a241dd3752346b1eb0e4d2aa","commits":[{"sha":"2d446b6eeb025021e54ddb3f5cb9d69c2b8182c1","author":{"email":"d4772d05997b8abf035041e3b4f4996380ea7e7a@redhat.com","name":"Pavel Hrdina"},"message":"tests: use virtTestDifferenceFull in tests where we have output file\n\nThis will enable regenerate functionality for those tests to make\ndeveloper lives easier while updating tests.\n\nSigned-off-by: Pavel Hrdina <phrdina@redhat.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/2d446b6eeb025021e54ddb3f5cb9d69c2b8182c1"},{"sha":"2686e44e0560d66c071b6c97f704567a42b811d2","author":{"email":"d4772d05997b8abf035041e3b4f4996380ea7e7a@redhat.com","name":"Pavel Hrdina"},"message":"tests: add some missing tests to qemuxml2xmltest\n\nThose tests are in qemuargv2xmltest and it makes sense to include them\nalso in qemuxml2xmltest and qemuxml2argvtest.\n\nSigned-off-by: Pavel Hrdina <phrdina@redhat.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/2686e44e0560d66c071b6c97f704567a42b811d2"},{"sha":"36785c7e775f36445b0e4438c3497b2ac6d29109","author":{"email":"d4772d05997b8abf035041e3b4f4996380ea7e7a@redhat.com","name":"Pavel Hrdina"},"message":"device: cleanup input device code\n\nThe current code was a little bit odd.  At first we've removed all\npossible implicit input devices from domain definition to add them later\nback if there was any graphics device defined while parsing XML\ndescription.  That's not all, while formating domain definition to XML\ndescription we at first ignore any input devices with bus different to\nUSB and VIRTIO and few lines later we add implicit input devices to XML.\n\nThis seems to me as a lot of code for nothing.  This patch may look\nto be more complicated than original approach, but this is a preferred\nway to modify/add driver specific stuff only in those drivers and not\ndeal with them in common parsing/formating functions.\n\nThe update is to add those implicit input devices into config XML to\nfollow the real HW configuration visible by guest OS.\n\nThere was also inconsistence between our behavior and QEMU's in the way,\nthat in QEMU there is no way how to disable those implicit input devices\nfor x86 architecture and they are available always, even without graphics\ndevice.  This applies also to XEN hypervisor.  VZ driver already does its\npart by putting correct implicit devices into live XML.\n\nSigned-off-by: Pavel Hrdina <phrdina@redhat.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/36785c7e775f36445b0e4438c3497b2ac6d29109"},{"sha":"8c70d04bab7278c96390a913fa949a17cd3124f9","author":{"email":"fed4063644bca0fd5d971b29c0a16c2431ac4671@linux.vnet.ibm.com","name":"Leno Hou"},"message":"util: increase libnl buffer size\n\nIn the following cases nl_recv() was returning the error \"No buffer\nspace available\":\n\n* When switching CPUs to offline/online in a system more than 128 cpus\n* When using virsh to destroy domain in a system with many interfaces\n\nThis patch sets the buffer size for all netlink sockets created by\nlibnl to 128K and turns on message peeking for nl_recv(). This\neliminates the \"No buffer space available\" errors seen in the cases\nabove, and also preempts other future errors the smaller buffers could\nhave caused.\n\nSigned-off-by: Leno Hou <houqy@linux.vnet.ibm.com>\nSigned-off-by: Laine Stump <laine@laine.org>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/8c70d04bab7278c96390a913fa949a17cd3124f9"},{"sha":"370608b4c76f7290cbebc4e4a05fca4eb0e9ffe8","author":{"email":"c23361c43fbf79fed83e8b76173707b083d6caf5@laine.org","name":"Laine Stump"},"message":"util: keep/use a bitmap of in-use macvtap devices\n\nThis patch creates two bitmaps, one for macvlan device names and one\nfor macvtap. The bitmap position is used to indicate that libvirt is\ncurrently using a device with the name macvtap%d/macvlan%d, where %d\nis the position in the bitmap. When requested to create a new\nmacvtap/macvlan device, libvirt will now look for the first clear bit\nin the appropriate bitmap and derive the device name from that rather\nthan just starting at 0 and counting up until one works.\n\nWhen libvirtd is restarted, the qemu driver code that reattaches to\nactive domains calls the appropriate function to \"re-reserve\" the\ndevice names as it is scanning the status of running domains.\n\nNote that it may seem strange that the retry counter now starts at\n8191 instead of 5. This is because we now don't do a \"pre-check\" for\nthe existence of a device once we've reserved it in the bitmap - we\nmove straight to creating it; although very unlikely, it's possible\nthat someone has a running system where they have a large number of\nnetwork devices *created outside libvirt* named \"macvtap%d\" or\n\"macvlan%d\" - such a setup would still allow creating more devices\nwith the old code, while a low retry max in the new code would cause a\nfailure. Since the objective of the retry max is just to prevent an\ninfinite loop, and it's highly unlikely to do more than 1 iteration\nanyway, having a high max is a reasonable concession in order to\nprevent lots of new failures.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/370608b4c76f7290cbebc4e4a05fca4eb0e9ffe8"},{"sha":"871e10fc959afd9c56bd1f512d89ce591d2207b9","author":{"email":"937084fec1b14b928d3b598c69ed20c9b59ffea8@linux.vnet.ibm.com","name":"Jason J. Herne"},"message":"Fix libvirtd free() segfault when migrating guest with deleted open vswitch port\n\nlibvirtd crashes on free()ing portData for an open vswitch port if that port\nwas deleted.  To reproduce:\n\novs-vsctl del-port vnet0\nvirsh migrate --live kvm1 qemu+ssh://dstHost/system\n\nError message:\nlibvirtd: *** Error in `/usr/sbin/libvirtd': free(): invalid pointer: 0x000003ff90001e20 ***\n\nThe problem is that virCommandRun can return an empty string in the event that\nthe port being queried does not exist. When this happens then we are\nunconditionally overwriting a newline character at position strlen()-1. When\nstrlen is 0, we overwrite memory that does not belong to the string.\n\nThe fix: Only overwrite the newline if the string is not empty.\n\nReviewed-by: Bjoern Walk <bwalk@linux.vnet.ibm.com>\nSigned-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/871e10fc959afd9c56bd1f512d89ce591d2207b9"},{"sha":"720bc953f8e2b0c85e708eebf1896d241a5d7d1d","author":{"email":"83d82aaba2eed257f4814b0c239c260c4caaadf0@redhat.com","name":"Michal Privoznik"},"message":"virnetdevmacvlan: Provide stubs for build without macvtap\n\nIn 370608b4c76f we have introduced two new internal APIs.\nHowever, there are no stubs for build without macvtap. Therefore\nbuild on systems lacking macvtap support (e.g. mingw or freebds)\nfails when trying to link.\n\nSigned-off-by: Michal Privoznik <mprivozn@redhat.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/720bc953f8e2b0c85e708eebf1896d241a5d7d1d"},{"sha":"d87f0c00520e1196dce1874cb9cfb9f8b54af891","author":{"email":"3ada0bee826c753786fdbba72243dfba997094cf@redhat.com","name":"Andrea Bolognani"},"message":"virnetdevopenvswitch: Don't call strlen() twice on the same string\n\nCommit 871e10f fixed a memory corruption error, but called strlen()\ntwice on the same string to do so. Even though the compiler is\nprobably smart enough to optimize the second call away, having a\nsingle invocation makes the code slightly cleaner.\n\nSuggested-by: Michal Privoznik <mprivozn@redhat.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/d87f0c00520e1196dce1874cb9cfb9f8b54af891"},{"sha":"414b7eeae9d3e44e624c5b94342f67abe4521877","author":{"email":"2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com","name":"Peter Krempa"},"message":"qemu: Don't use priv->ncpus to iterate cgroup setting\n\nIterate over all cpus skipping inactive ones.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/414b7eeae9d3e44e624c5b94342f67abe4521877"},{"sha":"31b782a147b9b4a9aa758d8eba9fba5b72a6abb1","author":{"email":"2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com","name":"Peter Krempa"},"message":"conf: disallow empty cpusets for vcpu pinning when parsing XML\n\nThey are disallowed in the pinning API and as default cpuset.\n\nResolves: https://bugzilla.redhat.com/show_bug.cgi?id=1293241","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/31b782a147b9b4a9aa758d8eba9fba5b72a6abb1"},{"sha":"763941749eaa206d5c66e87e59c967814cbd6a27","author":{"email":"2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com","name":"Peter Krempa"},"message":"conf: disallow empty cpuset for emulatorpin\n\nIt's disallowed in the API.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/763941749eaa206d5c66e87e59c967814cbd6a27"},{"sha":"d773b57d228812cfca55f58ebfa271a4f6f4a569","author":{"email":"2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com","name":"Peter Krempa"},"message":"qemu: don't iterate vcpus using priv->nvcpupids in qemuProcessSetSchedParams\n\nThis should be the last offender.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/d773b57d228812cfca55f58ebfa271a4f6f4a569"},{"sha":"771eaeb2b3961a70f3ecfd5af90bc56c1d43d03a","author":{"email":"3ada0bee826c753786fdbba72243dfba997094cf@redhat.com","name":"Andrea Bolognani"},"message":"pci: Phase out virPCIDeviceReattachInit()\n\nThe name is confusing, and there are just two uses: one is a test case,\nand the other will be removed as part of an upcoming refactoring of\nthe hostdev code.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/771eaeb2b3961a70f3ecfd5af90bc56c1d43d03a"},{"sha":"171607296d30458edc4743a387d69a2ac353372d","author":{"email":"3ada0bee826c753786fdbba72243dfba997094cf@redhat.com","name":"Andrea Bolognani"},"message":"pci: Add debug messages when unbinding from stub driver\n\nUnbinding a PCI device from the stub driver can require several steps,\nand it can be useful for debugging to be able to trace which of these\nsteps are performed and which are skipped for each device.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/171607296d30458edc4743a387d69a2ac353372d"},{"sha":"3f3f7a824c6168f34110aaa2a713e924e31145a2","author":{"email":"83d82aaba2eed257f4814b0c239c260c4caaadf0@redhat.com","name":"Michal Privoznik"},"message":"gendispatch: Don't output spaces on empty line\n\nIn our generator for some code we put empty lines in the output\nto separate blocks of code. However, in some cases we put couple\nof spaces on the empty line too. It's not bug, it just isn't\nnice.\n\nSigned-off-by: Michal Privoznik <mprivozn@redhat.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/3f3f7a824c6168f34110aaa2a713e924e31145a2"},{"sha":"eee4675a2912c2748d4c30b8076b7de1e0f3dfb6","author":{"email":"83d82aaba2eed257f4814b0c239c260c4caaadf0@redhat.com","name":"Michal Privoznik"},"message":"qemu: Don't wait for a client to connect in case of vhost-user net\n\nConsider the following device in the domain config:\n\n  <interface type='vhostuser'>\n    <mac address='fa:16:3e:ed:ee:91'/>\n    <source type='unix' path='/tmp/vhost-sock-1' mode='server'/>\n    <model type='virtio'/>\n    <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>\n  </interface>\n\nThis is the cmd line we generate to it:\n\n  -chardev socket,id=charnet1,path=/tmp/vhost-sock-1,server\n\nProblem is, by default qemu waits until a client connects and\nonly after that it starts responding on the monitor. This will\ncause the start API hang too. Fix this by appending nowait to the\ncmd line. Moreover, everywhere else where we put server onto the\ncmd line it's immediately followed by nowait except for this one\ncase.\n\nSigned-off-by: Michal Privoznik <mprivozn@redhat.com>","distinct":true,"url":"https://api.github.com/repos/zippy2/libvirt/commits/eee4675a2912c2748d4c30b8076b7de1e0f3dfb6"}]}