{"push_id":987510316,"size":32,"distinct_size":1,"ref":"refs/heads/slirp","head":"4d1a3998833cb1f841865d8f5506e43aa5f494ca","before":"50ada7860318287844694bab18b6d7ffc52fd22e","commits":[{"sha":"b4c6fa4418ee89ad52116420461fde5b58919452","author":{"email":"4cab11cfb98d3c937327354a78eb07dbb6ee2bc6@redhat.com","name":"Ján Tomko"},"message":"vsh: use virBufferTrim in vshOutputLogFile\n\nUse virBufferTrim to strip the extra newline at the end\nof the message instead of open-coding it after the buffer's\nstring is formatted.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/b4c6fa4418ee89ad52116420461fde5b58919452"},{"sha":"55e6d8cd9eac7eb2aaa4d221585e9402cf7269d5","author":{"email":"4cab11cfb98d3c937327354a78eb07dbb6ee2bc6@redhat.com","name":"Ján Tomko"},"message":"Error out on missing machine type in machine configs\n\nCommit f1a89a8 allowed parsing configs from /etc/libvirt\nwithout validating the emulator capabilities.\n\nCheck for the presence of os->type.machine even if the\nVIR_DOMAIN_DEF_PARSE_SKIP_OSTYPE_CHECKS flag is set,\notherwise the daemon can crash on carelessly crafted input\nin the config directory.\n\nhttps://bugzilla.redhat.com/show_bug.cgi?id=1267256","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/55e6d8cd9eac7eb2aaa4d221585e9402cf7269d5"},{"sha":"647ac97ab6797fa2de58c1a8d36811a3fb915e94","author":{"email":"c6e6488d214fff527698d2a865d2c6ede2d17cda@googlemail.com","name":"Matthias Bolte"},"message":"esx: Avoid using vSphere SessionIsActive function\n\nA login session with the vSphere API might expire after some idle time.\nThe esxVI_EnsureSession function uses the SessionIsActive function to\ncheck if the current session has expired and a relogin needs to be done.\n\nBut the SessionIsActive function needs the Sessions.ValidateSession\nprivilege that is considered as an admin level privilege.\n\nOnly vCenter actually provides the SessionIsActive function. This results\nin requiring an admin level privilege even for read-only operations on\na vCenter server.\n\nESX and VMware Server don't provide the SessionIsActive function and\nthe code already works around that. Use the same workaround for vCenter\nagain.\n\nThis basically reverts commit 5699034b65afd49d91dff13c46481bea545cbaac.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/647ac97ab6797fa2de58c1a8d36811a3fb915e94"},{"sha":"e9e8565593066cdc7d8a8aad172fb5332e821085","author":{"email":"2c14d38fa47c8799f1b9c16280abe27f8edfec6e@redhat.com","name":"Erik Skultety"},"message":"admin: Fix memory leak in remoteAdminConnectClose\n\nWhen virt-admin is run with valgrind, this kind of output can be obtained:\n\nHEAP SUMMARY:\n  in use at exit: 134,589 bytes in 1,031 blocks\n  total heap usage: 2,667 allocs, 1,636 frees, 496,755 bytes allocated\n\n88 bytes in 1 blocks are definitely lost in loss record 82 of 128\n at 0x4C2A9C7: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)\n by 0x52F6D1F: virAllocVar (viralloc.c:560)\n by 0x5350268: virObjectNew (virobject.c:193)\n by 0x53503E0: virObjectLockableNew (virobject.c:219)\n by 0x4E3BBCB: virAdmConnectNew (datatypes.c:832)\n by 0x4E38495: virAdmConnectOpen (libvirt-admin.c:209)\n by 0x10C541: vshAdmConnect (virt-admin.c:107)\n by 0x10C7B2: vshAdmReconnect (virt-admin.c:163)\n by 0x10CC7C: cmdConnect (virt-admin.c:298)\n by 0x110838: vshCommandRun (vsh.c:1224)\n by 0x10DFD8: main (virt-admin.c:862)\n\n LEAK SUMMARY:\n    definitely lost: 88 bytes in 1 blocks\n    indirectly lost: 0 bytes in 0 blocks\n    possibly lost: 0 bytes in 0 blocks\n    still reachable: 134,501 bytes in 1,030 blocks\n    suppressed: 0 bytes in 0 blocks\n\nThis is because virNetClientSetCloseCallback was being reinitialized\nincorrectly. By resetting the callbacks in a proper way, the leak is fixed.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/e9e8565593066cdc7d8a8aad172fb5332e821085"},{"sha":"b6c40bd5e1fa5da6a7a7b33d0302ce9661a9e289","author":{"email":"3ada0bee826c753786fdbba72243dfba997094cf@redhat.com","name":"Andrea Bolognani"},"message":"test: qemuxml2argv: Drop QEMU_CAPS_DEVICE uses\n\nSince commit 51045df01b3c, the QEMU_CAPS_DEVICE capability is enabled\nautomatically and shouldn't be passed as an argument to DO_TEST();\nhowever, commit 998a936c4c1a accidentally introduced few such uses.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/b6c40bd5e1fa5da6a7a7b33d0302ce9661a9e289"},{"sha":"a7bc9841a4500314d5cc877e45b483c2ae3ce3f9","author":{"email":"2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com","name":"Peter Krempa"},"message":"virsh: cmdVcpuPin: Simplify handling of API flags\n\nRather than setting flags to -1 if none were specified, move the logic\nto use the old API to the place where we need to decide. It simplifies\nthe logic a bit.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/a7bc9841a4500314d5cc877e45b483c2ae3ce3f9"},{"sha":"9268b9ad48990757ce12e03831e2148a963ff0aa","author":{"email":"2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com","name":"Peter Krempa"},"message":"util: Use virBitmapIsBitSet in freebsd impl of virProcessSetAffinity\n\nUse the helper that does not return errors to fix spuriously looking\ndead return of -1.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/9268b9ad48990757ce12e03831e2148a963ff0aa"},{"sha":"471741309d650ce30244aa02fe8d86a9738cc251","author":{"email":"2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com","name":"Peter Krempa"},"message":"qemu: vcpupin: Don't overwrite errors from functions setting pinning\n\nBoth errors from the cgroups code and from the affinity code would be\noverwritten by the API. Report the more specific error.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/471741309d650ce30244aa02fe8d86a9738cc251"},{"sha":"9958422d1065cdff0030f9f63e7e29e7113e311e","author":{"email":"2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com","name":"Peter Krempa"},"message":"qemu: vcpupin: Always set affinity even when cgroups are supported\n\nVM startup and CPU hotplug always set the affinity regardless of cgroups\nsupport. Use the same approach for the pinning API.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/9958422d1065cdff0030f9f63e7e29e7113e311e"},{"sha":"783584b52b3ddeea2b0bf46dc1e20455d3877dc8","author":{"email":"2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com","name":"Peter Krempa"},"message":"qemu: qemuDomainGetStatsVcpu: Fix output for possible sparse vCPU settings\n\nqemuDomainHelperGetVcpus would correctly return an array of\nvirVcpuInfoPtr structs for online vcpus even for sparse topologies, but\nthe loop that fills the returned typed parameters would number the vcpus\nincorrectly. Fortunately sparse topologies aren't supported yet.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/783584b52b3ddeea2b0bf46dc1e20455d3877dc8"},{"sha":"773f3bd3ccf4b379a409d972d059382711848796","author":{"email":"2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com","name":"Peter Krempa"},"message":"virsh: cpupin: Extract getter code into a separate function","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/773f3bd3ccf4b379a409d972d059382711848796"},{"sha":"17c4312c63a126520b8a1d042b986498ad85cb3d","author":{"email":"62bdf77dc47919a4d59a91822129d14633cfca81@redhat.com","name":"Jiri Denemark"},"message":"qemu: Export qemuDomainObjBeginNestedJob\n\nSigned-off-by: Jiri Denemark <jdenemar@redhat.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/17c4312c63a126520b8a1d042b986498ad85cb3d"},{"sha":"bf657dffb840a1f2b5c24fc7820e1b3ed6936e06","author":{"email":"62bdf77dc47919a4d59a91822129d14633cfca81@redhat.com","name":"Jiri Denemark"},"message":"qemu: End nested jobs properly\n\nEnding a nested job is no different from ending any other (non-async)\njob, after all the code in qemuDomainBeginJobInternal does not handle\nthem differently either. Thus we should call qemuDomainObjEndJob to stop\nnested jobs.\n\nSigned-off-by: Jiri Denemark <jdenemar@redhat.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/bf657dffb840a1f2b5c24fc7820e1b3ed6936e06"},{"sha":"b7a948be013d91a0c01f4956e7453aa5b939c395","author":{"email":"62bdf77dc47919a4d59a91822129d14633cfca81@redhat.com","name":"Jiri Denemark"},"message":"qemu: Pass async job to qemuProcessInit\n\nSigned-off-by: Jiri Denemark <jdenemar@redhat.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/b7a948be013d91a0c01f4956e7453aa5b939c395"},{"sha":"4d0c535a36638121a5c846b8934a807b36726473","author":{"email":"62bdf77dc47919a4d59a91822129d14633cfca81@redhat.com","name":"Jiri Denemark"},"message":"qemu: Introduce qemuProcessBeginStopJob\n\nWhen destroying a domain we need to make sure we will be able to start a\njob no matter what other operations are running or even stuck in a job.\nThis is done by killing the domain before starting the destroy job.\n\nLet's introduce qemuProcessBeginStopJob which combines killing a domain\nand starting a job in a single API which can be called everywhere we\nneed a job to stop a domain.\n\nSigned-off-by: Jiri Denemark <jdenemar@redhat.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/4d0c535a36638121a5c846b8934a807b36726473"},{"sha":"26edd68c3509f06be68133b295fe4f0765272fe4","author":{"email":"62bdf77dc47919a4d59a91822129d14633cfca81@redhat.com","name":"Jiri Denemark"},"message":"qemu: Start job in qemuDomainDestroyFlags early\n\nSigned-off-by: Jiri Denemark <jdenemar@redhat.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/26edd68c3509f06be68133b295fe4f0765272fe4"},{"sha":"1894112bb7d041c0a3db045c92904a5603f23b7f","author":{"email":"62bdf77dc47919a4d59a91822129d14633cfca81@redhat.com","name":"Jiri Denemark"},"message":"qemu: Start an async job for processGuestPanicEvent\n\nOnly a small portion of processGuestPanicEvent was enclosed within a\njob, let's make sure we use the job for all operations to avoid race\nconditions.\n\nSigned-off-by: Jiri Denemark <jdenemar@redhat.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/1894112bb7d041c0a3db045c92904a5603f23b7f"},{"sha":"8c9ff9960b29d4703a99efdd1cadcf6f48799cc0","author":{"email":"62bdf77dc47919a4d59a91822129d14633cfca81@redhat.com","name":"Jiri Denemark"},"message":"qemu: Process monitor EOF in a job\n\nStopping a domain without a job risks a race condition with another\nthread which started a job a which does not expect anyone else to be\nmessing around with the same domain object.\n\nSigned-off-by: Jiri Denemark <jdenemar@redhat.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/8c9ff9960b29d4703a99efdd1cadcf6f48799cc0"},{"sha":"6f08cbb82b8b692d5fc99dcbbb25844a86529906","author":{"email":"62bdf77dc47919a4d59a91822129d14633cfca81@redhat.com","name":"Jiri Denemark"},"message":"qemu: Simplify error handling in qemuProcessReconnect\n\nSigned-off-by: Jiri Denemark <jdenemar@redhat.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/6f08cbb82b8b692d5fc99dcbbb25844a86529906"},{"sha":"81f50cb92d16643bcd749e3ab5b404b8b7cec643","author":{"email":"62bdf77dc47919a4d59a91822129d14633cfca81@redhat.com","name":"Jiri Denemark"},"message":"qemu: Avoid calling qemuProcessStop without a job\n\nCalling qemuProcessStop without a job opens a way to race conditions\nwith qemuDomainObjExitMonitor called in another thread. A real world\nexample of such a race condition:\n\n  - migration thread (A) calls qemuMigrationWaitForSpice\n  - another thread (B) starts processing qemuDomainAbortJob API\n  - thread B signals thread A via qemuDomainObjAbortAsyncJob\n  - thread B enters monitor (qemuDomainObjEnterMonitor)\n  - thread B calls qemuMonitorSend\n  - thread A awakens and calls qemuProcessStop\n  - thread A calls qemuMonitorClose and sets priv->mon to NULL\n  - thread B calls qemuDomainObjExitMonitor with priv->mon == NULL\n  => monitor stays ref'ed and locked\n\nDepending on how lucky we are, the race may result in a memory leak or\nit can even deadlock libvirtd's event loop if it tries to lock the\nmonitor to process an event received before qemuMonitorClose was called.\n\nSigned-off-by: Jiri Denemark <jdenemar@redhat.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/81f50cb92d16643bcd749e3ab5b404b8b7cec643"}]}