{"push_id":1323078839,"size":16,"distinct_size":3,"ref":"refs/heads/hotplugs","head":"5d815a2d39b28816e1024f833cb2aeef0497e806","before":"b13559ee1b248196e4b20b4a471c9972f198db79","commits":[{"sha":"e377ebee82266078ef449ac15534a5747a7aee75","author":{"name":"Jiri Denemark","email":"0b6e66718f66b2a8c4b2dc6a6a42b8beb145fd62@redhat.com"},"message":"mingw: Package cputypes.rng\n\nSigned-off-by: Jiri Denemark <jdenemar@redhat.com>","distinct":false,"url":"https://api.github.com/repos/nertpinx/libvirt/commits/e377ebee82266078ef449ac15534a5747a7aee75"},{"sha":"934c4dbea85e8eac5dfd50b51283d34dbaa6e476","author":{"name":"Jiri Denemark","email":"0b6e66718f66b2a8c4b2dc6a6a42b8beb145fd62@redhat.com"},"message":"mingw: Package cputypes.rng for mingw32 too\n\nSigned-off-by: Jiri Denemark <jdenemar@redhat.com>","distinct":false,"url":"https://api.github.com/repos/nertpinx/libvirt/commits/934c4dbea85e8eac5dfd50b51283d34dbaa6e476"},{"sha":"7b3cf84bbb4d54c519ab1fae8f711105f60d61bd","author":{"name":"Jim Fehlig","email":"2bb3e1c08de882740bb0c11807b789849eab19b7@suse.com"},"message":"libxl: find virDomainObj in libxlDomainShutdownThread\n\nlibxl events are delivered to libvirt via the libxlDomainEventHandler\ncallback registered with libxl. Documenation in\n$xensrc/tools/libxl/libxl_event.h states that the callback \"may occur\non any thread in which the application calls libxl\". This can result\nin deadlock since many of the libvirt callees of libxl hold a lock on\nthe virDomainObj they are working on. When the callback is invoked, it\nattempts to find a virDomainObj corresponding to the domain ID provided\nby libxl. Searching the domain obj list results in locking each obj\nbefore checking if it is active, and its ID equals the requested ID.\nDeadlock is possible when attempting to lock an obj that is already\nlocked further up the call stack. Indeed, Max Ustermann reported an\ninstance of this deadlock\n\nhttps://www.redhat.com/archives/libvir-list/2015-November/msg00130.html\n\nGuido Rossmueller also recently stumbled across it\n\nhttps://www.redhat.com/archives/libvir-list/2016-September/msg00287.html\n\nFix the deadlock by moving the lookup of virDomainObj to the\nlibxlDomainShutdownThread. After this patch, libxl events are\nenqueued on the libvirt side and processed by dedicated thread,\navoiding the described deadlock.\n\nReported-by: Max Ustermann <ustermann78@web.de>\nReported-by: Guido Rossmueller <Guido.Rossmueller@gdata.de>","distinct":false,"url":"https://api.github.com/repos/nertpinx/libvirt/commits/7b3cf84bbb4d54c519ab1fae8f711105f60d61bd"},{"sha":"3193a594475f1565e03ddec22fd72af08e95adb2","author":{"name":"Michal Privoznik","email":"ff52d8b477e4489d0b3b856d550bc61214c6ad4b@redhat.com"},"message":"qemuDomainUpdateDeviceConfig: Allow full disk update\n\nhttps://bugzilla.redhat.com/show_bug.cgi?id=1368417\n\nSo far, when it comes to 'virsh update-device --config' of disks\nwe are limiting ourselves for just the disk source update and\njust for CDROMs and floppies. This makes no sense. Especially if\nyou look around and see that we already allow full update to\ngraphics and net devices. So let's just take whatever XML user\nwants to have there and replace our internal definition with it.\n\nSigned-off-by: Michal Privoznik <mprivozn@redhat.com>","distinct":false,"url":"https://api.github.com/repos/nertpinx/libvirt/commits/3193a594475f1565e03ddec22fd72af08e95adb2"},{"sha":"c2c43912e4fa93f2df86ccdd6d46dc8c6241344a","author":{"name":"Jiri Denemark","email":"0b6e66718f66b2a8c4b2dc6a6a42b8beb145fd62@redhat.com"},"message":"qemu: Fix crash in qemucapsprobe\n\nThe qemucapsprobe helper calls virQEMUCapsNewForBinaryInternal with\ncaps == NULL, causing the following crash:\n\n    Program received signal SIGSEGV, Segmentation fault.\n    #0  0x00007ffff788775f in virQEMUCapsInitHostCPUModel\n        (qemuCaps=qemuCaps@entry=0x649680, host=host@entry=0x10) at\n        src/qemu/qemu_capabilities.c:2969\n    #1  0x00007ffff7889dbf in virQEMUCapsNewForBinaryInternal\n        (caps=caps@entry=0x0, binary=<optimized out>,\n        libDir=libDir@entry=0x4033f6 \"/tmp\", cacheDir=cacheDir@entry=0x0,\n        runUid=runUid@entry=4294967295, runGid=runGid@entry=4294967295,\n        qmpOnly=true) at src/qemu/qemu_capabilities.c:4039\n    #2  0x0000000000401702 in main (argc=2, argv=0x7fffffffd968) at\n        tests/qemucapsprobe.c:73\n\nCaused by v2.2.0-182-g68c7011.\n\nSigned-off-by: Jiri Denemark <jdenemar@redhat.com>","distinct":false,"url":"https://api.github.com/repos/nertpinx/libvirt/commits/c2c43912e4fa93f2df86ccdd6d46dc8c6241344a"},{"sha":"031abbc531941a79b7cd4709fbff835899b2d975","author":{"name":"Joao Martins","email":"0720c8a8322b70866cc89aea4016884379baceab@oracle.com"},"message":"conf: add xen type for channels\n\nSo far only guestfwd and virtio were supported. Add an additional\nfor Xen as libxl channels create a Xen console visible to the guest.\n\nSigned-off-by: Joao Martins <joao.m.martins@oracle.com>\nSigned-off-by: Jim Fehlig <jfehlig@suse.com>","distinct":false,"url":"https://api.github.com/repos/nertpinx/libvirt/commits/031abbc531941a79b7cd4709fbff835899b2d975"},{"sha":"719b663fadc76c7f62ab97aea2550f33bc4a83ed","author":{"name":"Joao Martins","email":"0720c8a8322b70866cc89aea4016884379baceab@oracle.com"},"message":"libxl: channels support\n\nAnd allow libxl to handle channel element which creates a Xen\nconsole visible to the guest as a low-bandwitdh communication\nchannel. If type is PTY we also fetch the tty after boot using\nlibxl_channel_getinfo to fetch the tty path. On socket case,\nwe autogenerate a path if not specified in the XML. Path autogenerated\nis slightly different from qemu driver: qemu stores also on\n\"channels/target\" but it creates then a directory per domain with\neach channel target name. libxl doesn't appear to have a clear\ndefinition of private files associated with each domain, so for\nsimplicity we do it slightly different. On qemu each autogenerated\nchannel goes like:\n\nchannels/target/<domain-name>/<target name>\n\nWhereas for libxl:\n\nchannels/target/<domain-name>-<target name>\n\nShould note that if path is not specified it won't persist,\nexisting only on live XML, unless user had initially specified it.\nSince support for libxl channels only came on Xen >= 4.5 we therefore\nneed to conditionally compile it with LIBXL_HAVE_DEVICE_CHANNEL.\n\nAfter this patch and having a qemu guest agent:\n $ cat domain.xml | grep -a1 channel | head -n 5 | tail -n 4\n <channel type='unix'>\n   <source mode='bind' path='/tmp/channel'/>\n   <target type='xen' name='org.qemu.guest_agent.0'/>\n </channel>\n\n $ virsh create domain.xml\n $ echo '{\"execute\":\"guest-network-get-interfaces\"}' | socat\n stdio,ignoreeof  unix-connect:/tmp/channel\n\n {\"execute\":\"guest-network-get-interfaces\"}\n {\"return\": [{\"name\": \"lo\", \"ip-addresses\": [{\"ip-address-type\": \"ipv4\",\n \"ip-address\": \"127.0.0.1\", \"prefix\": 8}, {\"ip-address-type\": \"ipv6\",\n \"ip-address\": \"::1\", \"prefix\": 128}], \"hardware-address\":\n \"00:00:00:00:00:00\"}, {\"name\": \"eth0\", \"ip-addresses\":\n [{\"ip-address-type\": \"ipv4\", \"ip-address\": \"10.100.0.6\", \"prefix\": 24},\n {\"ip-address-type\": \"ipv6\", \"ip-address\": \"fe80::216:3eff:fe40:88eb\",\n \"prefix\": 64}], \"hardware-address\": \"00:16:3e:40:88:eb\"}, {\"name\":\n \"sit0\"}]}\n\nSigned-off-by: Joao Martins <joao.m.martins@oracle.com>\nSigned-off-by: Jim Fehlig <jfehlig@suse.com>","distinct":false,"url":"https://api.github.com/repos/nertpinx/libvirt/commits/719b663fadc76c7f62ab97aea2550f33bc4a83ed"},{"sha":"9a683f8892bff3d5965e0256d077f223c9d8a33e","author":{"name":"Joao Martins","email":"0720c8a8322b70866cc89aea4016884379baceab@oracle.com"},"message":"xenconfig: channels conversion support\n\nAdd support for formating/parsing libxl channels.\n\nSyntax on xen libxl goes as following:\nchannel=[\"connection=pty|socket,path=/path/to/socket,name=XXX\",...]\n\nSigned-off-by: Joao Martins <joao.m.martins@oracle.com>\nAcked-by: Jim Fehlig <jfehlig@suse.com>\nSigned-off-by: Jim Fehlig <jfehlig@suse.com>","distinct":false,"url":"https://api.github.com/repos/nertpinx/libvirt/commits/9a683f8892bff3d5965e0256d077f223c9d8a33e"},{"sha":"bff2f781ab9d687b57c62e79aedf02a2cee2b77c","author":{"name":"Joao Martins","email":"0720c8a8322b70866cc89aea4016884379baceab@oracle.com"},"message":"xlconfigtest: add test for channel conversion\n\nSigned-off-by: Joao Martins <joao.m.martins@oracle.com>\nAcked-by: Jim Fehlig <jfehlig@suse.com>\nSigned-off-by: Jim Fehlig <jfehlig@suse.com>","distinct":false,"url":"https://api.github.com/repos/nertpinx/libvirt/commits/bff2f781ab9d687b57c62e79aedf02a2cee2b77c"},{"sha":"4c600de755d39fb316ad89710257679b4850ac71","author":{"name":"Jim Fehlig","email":"2bb3e1c08de882740bb0c11807b789849eab19b7@suse.com"},"message":"libxl: fix param assignment in domainGetSchedulerParameters\n\nDue to a copy and paste error, the scheduler 'cap' parameter\nwas over-writing the 'weight' parameter when preparing the\nreturn parameters in libxlDomainGetSchedulerParametersFlags.\nAs a result, the scheduler weight was never shown when getting\nschedinfo and setting the weight failed as well\n\nvirsh  schedinfo testvm\nScheduler      : credit\ncap            : 0\n\nvirsh  schedinfo testvm --cap 50 --weight 500\nScheduler      : credit\nerror: invalid scheduler option: weight\n\nThe obvious fix is to assign the 'caps' parameter to the correct\nitem in the parameter list.\n\nReported-by: Volo M. <vm@vovs.net>","distinct":false,"url":"https://api.github.com/repos/nertpinx/libvirt/commits/4c600de755d39fb316ad89710257679b4850ac71"},{"sha":"f4332dd2d8535b10eef8bce14bf7dc61200495f1","author":{"name":"Jim Fehlig","email":"2bb3e1c08de882740bb0c11807b789849eab19b7@suse.com"},"message":"doc: fix note about Xen credit scheduler\n\nCommit 6c504d6a added a note to the virsh man page about the\ndeprecation of 'cap' and 'weight' settings for the credit\nscheduler. To this day, the default scheduler in Xen is credit\nand it supports setting 'cap' and 'weight'. Remove the deprecation\nnotice from the note on the Xen credit scheduler.\n\nReported-by: Volo M. <vm@vovs.net>","distinct":false,"url":"https://api.github.com/repos/nertpinx/libvirt/commits/f4332dd2d8535b10eef8bce14bf7dc61200495f1"},{"sha":"13aa79842cfa6c20c3b768c2ccd283bb5ef9e071","author":{"name":"Roman Bogorodskiy","email":"be56f82784a423d301db8f60637af99aa5b10d53@gmail.com"},"message":"bhyve: chase cpuCompareXML rename\n\nIn commit 7f127de cpuCompareXML was renamed to virCPUCompareXML,\nso change the bhyve driver to use the new function and thus\nfix the build.","distinct":false,"url":"https://api.github.com/repos/nertpinx/libvirt/commits/13aa79842cfa6c20c3b768c2ccd283bb5ef9e071"},{"sha":"4372a7845acbc6974f6027ef68e7dd3eeb47f425","author":{"name":"Martin Kletzander","email":"b95c1c5986c2c30eff5096e3d1c8d4510b550570@redhat.com"},"message":"qemu: Only use memory-backend-file with NUMA if needed\n\nIf this reminds you of a commit message from around a year ago, it's\n41c2aa729f0af084ede95ee9a06219a2dd5fb5df and yes, we're dealing with\n\"the same thing\" again.  Or f309db1f4d51009bad0d32e12efc75530b66836b and\nit's similar.\n\nThere is a logic in place that if there is no real need for\nmemory-backend-file, qemuBuildMemoryBackendStr() returns 0.  However\nthat wasn't the case with hugepage backing.  The reason for that was\nthat we abused the 'pagesize' variable for storing that information, but\nwe should rather have a separate one that specifies whether we really\nneed the new object for hugepage backing.  And that variable should be\nset only if this particular NUMA cell needs special treatment WRT\nhugepages.\n\nResolves: https://bugzilla.redhat.com/show_bug.cgi?id=1372153\n\nSigned-off-by: Martin Kletzander <mkletzan@redhat.com>","distinct":false,"url":"https://api.github.com/repos/nertpinx/libvirt/commits/4372a7845acbc6974f6027ef68e7dd3eeb47f425"},{"sha":"2219612aba0c7d25b14777dc4fd5f62ff9ab4af0","author":{"name":"Martin Kletzander","email":"b95c1c5986c2c30eff5096e3d1c8d4510b550570@redhat.com"},"message":"tests: Remove unused test files\n\nThere were both base and base-live versions added but only the latter\none was used.\n\nSigned-off-by: Martin Kletzander <mkletzan@redhat.com>","distinct":true,"url":"https://api.github.com/repos/nertpinx/libvirt/commits/2219612aba0c7d25b14777dc4fd5f62ff9ab4af0"},{"sha":"57b70d0ae5036c50f3e708e01892bf2053ee7ecc","author":{"name":"Martin Kletzander","email":"b95c1c5986c2c30eff5096e3d1c8d4510b550570@redhat.com"},"message":"qemu: Don't leak aliases in tests\n\nWhen assigning aliases, there are no checks for whether the alias\nalready exists or not.  The pointer just gets reallocated.  Make sure we\nkeep what we already have assigned.  That way we can call the assigning\nfunctin from qemuHotplugCreateObjects() in tests.  Hostdevs already have\nthis check.  Another option would be to free() all aliases before\ncalling this function.\n\nSigned-off-by: Martin Kletzander <mkletzan@redhat.com>","distinct":true,"url":"https://api.github.com/repos/nertpinx/libvirt/commits/57b70d0ae5036c50f3e708e01892bf2053ee7ecc"},{"sha":"5d815a2d39b28816e1024f833cb2aeef0497e806","author":{"name":"Martin Kletzander","email":"b95c1c5986c2c30eff5096e3d1c8d4510b550570@redhat.com"},"message":"qemuhotplugtest: Test updates as well\n\nUntil now, when running update hotplug test, we only checked the return\nfrom the function call.  So let's check updates as well.  We need to add\nxmls for it.  Since we're working on live domains, we might as well not\nparse the domain as inactive.  It's then also nicely visible what was\nupdated etc.\n\nSigned-off-by: Martin Kletzander <mkletzan@redhat.com>","distinct":true,"url":"https://api.github.com/repos/nertpinx/libvirt/commits/5d815a2d39b28816e1024f833cb2aeef0497e806"}]}
{"actor":{"display_login":"nertpinx"}}