{"push_id":963317114,"size":21,"distinct_size":21,"ref":"refs/heads/master","head":"6221b8944e04c5cb02d3882833c11ce2319d88f7","before":"6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7","commits":[{"sha":"4a67b044fbe8f64ebb37a105bdebd3487cc2b707","author":{"email":"7fa0e2698a05be944b362bdf5d7736c0162e16c9@virtuozzo.com","name":"Nikolay Shirokovskiy"},"message":"qemu: return -1 on error paths in qemuDomainSaveImageStartVM\n\nError paths after sending the event that domain is started written as if ret = -1\nwhich is set at the beginning of the function. It's common idioma to keep 'ret'\nequal to -1 until the end of function where it is set to 0. But here we use ret\nto keep result of restore operation too and thus breaks the idioma and its users :)\n\nLet's use different variable to hold restore result.\n\nSigned-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/4a67b044fbe8f64ebb37a105bdebd3487cc2b707"},{"sha":"d2dabff3a03862c9560e79957dd8f04443193b4f","author":{"email":"1aaa2bc3b7024bd560deb18127b3c2d75423a41b@virtuozzo.com","name":"Dmitry Andreev"},"message":"qemuDomainResume: allow to resume domain with guest panicked\n\nIn case of guest panicked, preserved crashed domain has stopped CPUs.\nIt's not possible to use tools like WinDbg for the problem investigation\nuntil we start CPUs back.","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/d2dabff3a03862c9560e79957dd8f04443193b4f"},{"sha":"1fe6d8bfa81c8243516e38e81c31645049cb54e2","author":{"email":"2c14d38fa47c8799f1b9c16280abe27f8edfec6e@redhat.com","name":"Erik Skultety"},"message":"cfg.mk: Adjust sc_prohibit_int_ijk to support 'exempt from syntax-check'\n\nThere might be cases, like with typed params, where triggering this check isn't\ndesirable. But including the whole module in the exception regex is not always\nto right way of doing things. By adding an option to manually disable this check\non a specific occurrence, the module itself will still be checked against the\nrule.","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/1fe6d8bfa81c8243516e38e81c31645049cb54e2"},{"sha":"1794a0103ae4fa91d9c11617e7981471173e27ce","author":{"email":"e82f23e74d43760279ebcc505dac4ae70d5627d0@redhat.com","name":"Martin Kletzander"},"message":"qemu: Don't crash when create fails early\n\nSince commit 714080791778e3dfbd484ccb3953bffd820b8ba9 we are generating\nsocket path later than before -- when starting a domain.  That makes one\nparticular inconsistent state of a chardev, which was not possible\nbefore, currently valid.  However, SELinux security driver forgot to\nguard the main restoring function by a check for NULL-paths.  So make it\nno-op for NULL paths, as in the DAC driver.\n\nResolves: https://bugzilla.redhat.com/show_bug.cgi?id=1300532\n\nSigned-off-by: Martin Kletzander <mkletzan@redhat.com>","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/1794a0103ae4fa91d9c11617e7981471173e27ce"},{"sha":"58578f83bc65cdc687eb96f402a9f39dca672844","author":{"email":"2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com","name":"Peter Krempa"},"message":"cgroup: Clean up virCgroupGetPercpuStats\n\nUse 'ret' for return variable name, clarify use of 'param_idx' and avoid\nunnecessary 'success' label. No functional changes. Also document the\nfunction.","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/58578f83bc65cdc687eb96f402a9f39dca672844"},{"sha":"9bf284daa9b4e28e70f77c434ce4d3a65e5f4acf","author":{"email":"2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com","name":"Peter Krempa"},"message":"conf: Add helper to retrieve bitmap of active vcpus for a definition\n\nIn some cases it may be better to have a bitmap representing state of\nindividual vcpus rather than iterating the definition. The new helper\ncreates a bitmap representing the state from the domain definition.","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/9bf284daa9b4e28e70f77c434ce4d3a65e5f4acf"},{"sha":"a190744aa96d6abfb3a8b8946952134bc8b7f436","author":{"email":"2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com","name":"Peter Krempa"},"message":"qemu: cpu hotplug: Set vcpu state directly in the new structure\n\nAvoid using virDomainDefSetVcpus when we can set it directly in the\nstructure.","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/a190744aa96d6abfb3a8b8946952134bc8b7f436"},{"sha":"e97d1d20b174f3cf4bc7052d29000999db658de7","author":{"email":"2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com","name":"Peter Krempa"},"message":"qemu: Move and rename qemuProcessDetectVcpuPIDs to qemuDomainDetectVcpuPids\n\nFuture patches will tweak and reuse the function in different places so\nmove it separately first.","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/e97d1d20b174f3cf4bc7052d29000999db658de7"},{"sha":"451b955d62a3e1a41ec7b3edeba39d965f8dbd81","author":{"email":"2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com","name":"Peter Krempa"},"message":"qemu: domain: Prepare qemuDomainDetectVcpuPids for reuse\n\nFree the old vcpupids array in case when this function is called again\nduring the run of the VM. It will be later reused in the vCPU hotplug\ncode. The function now returns the number of detected VCPUs.","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/451b955d62a3e1a41ec7b3edeba39d965f8dbd81"},{"sha":"598927a5bce5c47827f4d02b4596a564e7f8b28f","author":{"email":"2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com","name":"Peter Krempa"},"message":"conf: Split out logic to determine whether cpupin was provided","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/598927a5bce5c47827f4d02b4596a564e7f8b28f"},{"sha":"e1d7273f245b41578208705e395053f3be613142","author":{"email":"4cab11cfb98d3c937327354a78eb07dbb6ee2bc6@redhat.com","name":"Ján Tomko"},"message":"Simplify virDomainParseMemory\n\nDo not store the return value of virDomainParseScaledValue,\nit was overwritten anyway.\n\nDelete the cleanup label, there is nothing to clean up.","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/e1d7273f245b41578208705e395053f3be613142"},{"sha":"9ba2646291266731d2933b54db3c825e19d44db6","author":{"email":"e82f23e74d43760279ebcc505dac4ae70d5627d0@redhat.com","name":"Martin Kletzander"},"message":"Revert \"systemd: Escape only needed characters for machined\"\n\nThis reverts commit 0e0149ce91d84f40b98acf4c4bb0da6e29b9c15c.\n\nThat commit was added to comply with systemd rules that were changed in\nthe meantime, so this patch is pointless.","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/9ba2646291266731d2933b54db3c825e19d44db6"},{"sha":"92757d4d2d108cf612916928e733739d40a31942","author":{"email":"e82f23e74d43760279ebcc505dac4ae70d5627d0@redhat.com","name":"Martin Kletzander"},"message":"systemd: Add virSystemdGetMachineNameByPID\n\nSigned-off-by: Martin Kletzander <mkletzan@redhat.com>","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/92757d4d2d108cf612916928e733739d40a31942"},{"sha":"1e93470df0dd0fff678914d53b7431af71f60d97","author":{"email":"7fa0e2698a05be944b362bdf5d7736c0162e16c9@virtuozzo.com","name":"Nikolay Shirokovskiy"},"message":"qemu: qemuDomainRename and virDomainObjListNumOfDomains ABBA deadlock fix\n\nA pretty nasty deadlock occurs while trying to rename a VM in parallel\nwith virDomainObjListNumOfDomains.\nThe short description of the problem is as follows:\n\nThread #1:\n\nqemuDomainRename:\n    ------> aquires domain lock by qemuDomObjFromDomain\n       ---------> waits for domain list lock in any of the listed functions:\n          - virDomainObjListFindByName\n          - virDomainObjListRenameAddNew\n          - virDomainObjListRenameRemove\n\nThread #2:\n\nvirDomainObjListNumOfDomains:\n    ------> aquires domain list lock\n       ---------> waits for domain lock in virDomainObjListCount\n\nIntroduce generic virDomainObjListRename function for renaming domains.\nIt aquires list lock in right order to avoid deadlock. Callback is used\nto make driver specific domain updates.\n\nSigned-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>\nSigned-off-by: Michal Privoznik <mprivozn@redhat.com>","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/1e93470df0dd0fff678914d53b7431af71f60d97"},{"sha":"41a459947f58c302ff5cbad824fa1737fb3ec374","author":{"email":"2c14d38fa47c8799f1b9c16280abe27f8edfec6e@redhat.com","name":"Erik Skultety"},"message":"util: Introduce virTypedParameterRemote datatype\n\nBoth admin and remote protocols define their own types\n(remote_typed_param vs admin_typed_param). Because of the naming convention,\nadmin typed params wouldn't be able to reuse the serialization/deserialization\nmethods, which are tailored for use by remote protocol, even if those method\nwere exported properly. In that case, introduce a new internal data type\nstructurally copying both admin and remote protocols which, eventually, would\nallow serializer and deserializer to be used in a more generic way.","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/41a459947f58c302ff5cbad824fa1737fb3ec374"},{"sha":"0472cef68538a155b18609bc0352467540cd24e0","author":{"email":"2c14d38fa47c8799f1b9c16280abe27f8edfec6e@redhat.com","name":"Erik Skultety"},"message":"util: Export remoteDeserializeTypedParameters internally via util\n\nCurrently, the deserializer is hardcoded into remote_driver which makes\nit impossible for admin to use it. One way to achieve a shared implementation\n(besides moving the code to another module) would be pass @ret_params_val as a\nvoid pointer as opposed to the remote_typed_param pointer and add a new extra\nargument specifying which of those two protocols is being used and typecast\nthe pointer at the function entry. An example from remote_protocol:\n\nstruct remote_typed_param_value {\n        int type;\n        union {\n                int i;\n                u_int ui;\n                int64_t l;\n                uint64_t ul;\n                double d;\n                int b;\n                remote_nonnull_string s;\n        } remote_typed_param_value_u;\n};\ntypedef struct remote_typed_param_value remote_typed_param_value;\n\nstruct remote_typed_param {\n        remote_nonnull_string field;\n        remote_typed_param_value value;\n};\n\nThat would leave us with a bunch of if-then-elses that needed to be used across\nthe method. This patch takes the other approach using the new datatype\nintroduced in one of earlier commits.","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/0472cef68538a155b18609bc0352467540cd24e0"},{"sha":"9afc115f7308199a7e678c3156832e826696629a","author":{"email":"2c14d38fa47c8799f1b9c16280abe27f8edfec6e@redhat.com","name":"Erik Skultety"},"message":"util: Export remoteFreeTypedParameters internally via util\n\nSince the method is static to remote_driver, it can't even be used by our\ndaemon. Other than that, it would be useful to be able to use it with admin as\nwell. This patch uses the new virTypedParameterRemote datatype introduced in\none of previous patches.","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/9afc115f7308199a7e678c3156832e826696629a"},{"sha":"8cd1d546e67f77a72a026d502726a7a961dd43ed","author":{"email":"2c14d38fa47c8799f1b9c16280abe27f8edfec6e@redhat.com","name":"Erik Skultety"},"message":"util: Export remoteSerializeTypedParameters internally via util\n\nSame as for deserializer, this method might get handy for admin one day.\nThe major reason for this patch is to stay consistent with idea, i.e.\nwhen deserializer can be shared, why not serializer as well. The only\nproblem to be solved was that the daemon side serializer uses a code\nsnippet which handles sparse arrays returned by some APIs as well as\nremoves any string parameters that can't be returned to older clients.\nThis patch makes of the new virTypedParameterRemote datatype introduced\nby one of the pvious patches.","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/8cd1d546e67f77a72a026d502726a7a961dd43ed"},{"sha":"c94f6d4dff41b97f603738b6e749900eb83d19b2","author":{"email":"2a54bf90b2b53e2ab35ffe11dda2730a23b4aa9c@gmail.com","name":"Roman Bogorodskiy"},"message":"storage: zfs: flexible use of 'volmode' option\n\nThere are slight differences in various ZFS implementations.\nSpecifically, ZFS on FreeBSD requires to set value of 'volmode'\noption to 'dev' to expose volumes as raw disk device (that's what\nwe need) rather than geom provides, for example.\n\nWith ZFS on Linux, however, such option is not available and\nvolumes exposed like we need by default.\n\nTo make our implementation more flexible, only pass 'volmode'\nwhen it's supported. Support is checked by parsing usage\ninformation of the 'zfs get' command.","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/c94f6d4dff41b97f603738b6e749900eb83d19b2"},{"sha":"82f17fbe68d3204932e72296fe07fd416aa8f9fc","author":{"email":"2a54bf90b2b53e2ab35ffe11dda2730a23b4aa9c@gmail.com","name":"Roman Bogorodskiy"},"message":"configure: zfs: enable on Linux\n\nZFS-on-Linux implementation of ZFS starting with version 0.6.4\ncontains all the features we use. Additionally, as we support\n'volmode' option handling that's not available on ZoL but is\navailable on FreeBSD, there is no need to block ZFS storage driver\non Linux anymore.\n\nSo un-mark zfs storage driver as FreeBSD-only.","distinct":true,"url":"https://api.github.com/repos/crobinso/libvirt/commits/82f17fbe68d3204932e72296fe07fd416aa8f9fc"}]}