{"push_id":1822692928,"size":68,"distinct_size":68,"ref":"refs/heads/travis-cocci_v2","head":"2877c8b5b347d53b33c84b75754a92c70d495693","before":"b8b7b6bc1a34e504ba50e26be0820d6d94aff11d","commits":[{"sha":"0b368a5ef9a9a878166182474f12dbd27422ba98","author":{"name":"Kevin Wolf","email":"37ca0aeccc2df528a14a4bb4a595e755fc1cd8e7@redhat.com"},"message":"commit: Fix completion with extra reference\n\ncommit_complete() can't assume that after its block_job_completed() the\njob is actually immediately freed; someone else may still be holding\nreferences. In this case, the op blockers on the intermediate nodes make\nthe graph reconfiguration in the completion code fail.\n\nCall block_job_remove_all_bdrv() manually so that we know for sure that\nany blockers on intermediate nodes are given up.\n\nCc: qemu-stable@nongnu.org\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>\nReviewed-by: Eric Blake <eblake@redhat.com>\nReviewed-by: Max Reitz <mreitz@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/0b368a5ef9a9a878166182474f12dbd27422ba98"},{"sha":"21ef61cf8a841df261ae9e664e9d108e17be6a98","author":{"name":"Kevin Wolf","email":"37ca0aeccc2df528a14a4bb4a595e755fc1cd8e7@redhat.com"},"message":"qemu-iotests: Allow starting new qemu after cleanup\n\nAfter _cleanup_qemu(), test cases should be able to start the next qemu\nprocess and call _cleanup_qemu() for that one as well. For this to work\ncleanly, we need to improve the cleanup so that the second invocation\ndoesn't try to kill the qemu instances from the first invocation a\nsecond time (which would result in error messages).\n\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>\nReviewed-by: Eric Blake <eblake@redhat.com>\nReviewed-by: Max Reitz <mreitz@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/21ef61cf8a841df261ae9e664e9d108e17be6a98"},{"sha":"b049146abce45e92cf4d840bbca54a2dd02654ab","author":{"name":"Kevin Wolf","email":"37ca0aeccc2df528a14a4bb4a595e755fc1cd8e7@redhat.com"},"message":"qemu-iotests: Test exiting qemu with running job\n\nWhen qemu is exited, all running jobs should be cancelled successfully.\nThis adds a test for this for all types of block jobs that currently\nexist in qemu.\n\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>\nReviewed-by: Eric Blake <eblake@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/b049146abce45e92cf4d840bbca54a2dd02654ab"},{"sha":"8289041cfab5f1d6877d9ebf17894e6ec160bb17","author":{"name":"Stefan Hajnoczi","email":"94c9a8f93d854d47ca810881c950deb3298e8e1d@redhat.com"},"message":"block: count bdrv_co_rw_vmstate() requests\n\nCall bdrv_inc/dec_in_flight() for vmstate reads/writes.  This seems\nunnecessary at first glance because vmstate reads/writes are done\nsynchronously while the guest is stopped.  But we need the bdrv_wakeup()\nin bdrv_dec_in_flight() so the main loop sees request completion.\nBesides, it's cleaner to count vmstate reads/writes like ordinary\nread/write requests.\n\nThe bdrv_wakeup() partially fixes a 'savevm' hang with -object iothread.\n\nSigned-off-by: Stefan Hajnoczi <stefanha@redhat.com>\nReviewed-by: Eric Blake <eblake@redhat.com>\nReviewed-by: Paolo Bonzini <pbonzini@redhat.com>\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/8289041cfab5f1d6877d9ebf17894e6ec160bb17"},{"sha":"02e422c31f4e2b47f4299448db187033bcd7d56d","author":{"name":"Stefan Hajnoczi","email":"94c9a8f93d854d47ca810881c950deb3298e8e1d@redhat.com"},"message":"block: use BDRV_POLL_WHILE() in bdrv_rw_vmstate()\n\nCalling aio_poll() directly may have been fine previously, but this is\nthe future, man!  The difference between an aio_poll() loop and\nBDRV_POLL_WHILE() is that BDRV_POLL_WHILE() releases the AioContext\naround aio_poll().\n\nThis allows the IOThread to run fd handlers or BHs to complete the\nrequest.  Failure to release the AioContext causes deadlocks.\n\nUsing BDRV_POLL_WHILE() partially fixes a 'savevm' hang with -object\niothread.\n\nSigned-off-by: Stefan Hajnoczi <stefanha@redhat.com>\nReviewed-by: Eric Blake <eblake@redhat.com>\nReviewed-by: Paolo Bonzini <pbonzini@redhat.com>\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/02e422c31f4e2b47f4299448db187033bcd7d56d"},{"sha":"babb5fc880e1fd82a377e719621ff260a374e74a","author":{"name":"Stefan Hajnoczi","email":"94c9a8f93d854d47ca810881c950deb3298e8e1d@redhat.com"},"message":"migration: avoid recursive AioContext locking in save_vmstate()\n\nAioContext was designed to allow nested acquire/release calls.  It uses\na recursive mutex so callers don't need to worry about nesting...or so\nwe thought.\n\nBDRV_POLL_WHILE() is used to wait for block I/O requests.  It releases\nthe AioContext temporarily around aio_poll().  This gives IOThreads a\nchance to acquire the AioContext to process I/O completions.\n\nIt turns out that recursive locking and BDRV_POLL_WHILE() don't mix.\nBDRV_POLL_WHILE() only releases the AioContext once, so the IOThread\nwill not be able to acquire the AioContext if it was acquired\nmultiple times.\n\nInstead of trying to release AioContext n times in BDRV_POLL_WHILE(),\nthis patch simply avoids nested locking in save_vmstate().  It's the\nsimplest fix and we should step back to consider the big picture with\nall the recent changes to block layer threading.\n\nThis patch is the final fix to solve 'savevm' hanging with -object\niothread.\n\nSigned-off-by: Stefan Hajnoczi <stefanha@redhat.com>\nReviewed-by: Eric Blake <eblake@redhat.com>\nReviewed-by: Paolo Bonzini <pbonzini@redhat.com>\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/babb5fc880e1fd82a377e719621ff260a374e74a"},{"sha":"bde6e22d43bcab1640bdd4b3239ea48f201f0b57","author":{"name":"Stefan Hajnoczi","email":"94c9a8f93d854d47ca810881c950deb3298e8e1d@redhat.com"},"message":"migration: use bdrv_drain_all_begin/end() instead bdrv_drain_all()\n\nblk/bdrv_drain_all() only takes effect for a single instant and then\nresumes block jobs, guest devices, and other external clients like the\nNBD server.  This can be handy when performing a synchronous drain\nbefore terminating the program, for example.\n\nMonitor commands usually need to quiesce I/O across an entire code\nregion so blk/bdrv_drain_all() is not suitable.  They must use\nbdrv_drain_all_begin/end() to mark the region.  This prevents new I/O\nrequests from slipping in or worse - block jobs completing and modifying\nthe graph.\n\nI audited other blk/bdrv_drain_all() callers but did not find anything\nthat needs a similar fix.  This patch fixes the savevm/loadvm commands.\nAlthough I haven't encountered a read world issue this makes the code\nsafer.\n\nSuggested-by: Kevin Wolf <kwolf@redhat.com>\nSigned-off-by: Stefan Hajnoczi <stefanha@redhat.com>\nReviewed-by: Eric Blake <eblake@redhat.com>\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/bde6e22d43bcab1640bdd4b3239ea48f201f0b57"},{"sha":"2cb94bb22cc71f9042c7cc466433b6f3cddd86a5","author":{"name":"Kevin Wolf","email":"37ca0aeccc2df528a14a4bb4a595e755fc1cd8e7@redhat.com"},"message":"doc: Document generic -blockdev options\n\nThis adds documentation for the -blockdev options that apply to all\nnodes independent of the block driver used.\n\nAll options that are shared by -blockdev and -drive are now explained in\nthe section for -blockdev. The documentation of -drive mentions that all\n-blockdev options are accepted as well.\n\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>\nReviewed-by: Eric Blake <eblake@redhat.com>\nReviewed-by: Max Reitz <mreitz@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/2cb94bb22cc71f9042c7cc466433b6f3cddd86a5"},{"sha":"498513e1bb53f3ee481837b09901c51757b3327a","author":{"name":"Kevin Wolf","email":"37ca0aeccc2df528a14a4bb4a595e755fc1cd8e7@redhat.com"},"message":"doc: Document driver-specific -blockdev options\n\nThis documents the driver-specific options for the raw, qcow2 and file\nblock drivers for the man page. For everything else, we refer to the\nQAPI documentation.\n\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>\nReviewed-by: Eric Blake <eblake@redhat.com>\nReviewed-by: Max Reitz <mreitz@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/498513e1bb53f3ee481837b09901c51757b3327a"},{"sha":"f2782297b60058dd89cae347154de63ebf8cc490","author":{"name":"Alberto Garcia","email":"fbe0ea738a82b949abc14952fdfd197ea9b8524e@igalia.com"},"message":"throttle: Update throttle-groups.c documentation\n\nThere used to be throttle_timers_{detach,attach}_aio_context() calls\nin bdrv_set_aio_context(), but since 7ca7f0f6db1fedd28d490795d778cf239\nthey are now in blk_set_aio_context().\n\nSigned-off-by: Alberto Garcia <berto@igalia.com>\nReviewed-by: Stefan Hajnoczi <stefanha@redhat.com>\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/f2782297b60058dd89cae347154de63ebf8cc490"},{"sha":"a9da86d8cb170b4efc68c1d2463e5ef4da56cdbd","author":{"name":"Stefan Hajnoczi","email":"94c9a8f93d854d47ca810881c950deb3298e8e1d@redhat.com"},"message":"virtio-pci: use ioeventfd even when KVM is disabled\n\nOld kvm.ko versions only supported a tiny number of ioeventfds so\nvirtio-pci avoids ioeventfds when kvm_has_many_ioeventfds() returns 0.\n\nDo not check kvm_has_many_ioeventfds() when KVM is disabled since it\nalways returns 0.  Since commit 8c56c1a592b5092d91da8d8943c17777d6462a6f\n(\"memory: emulate ioeventfd\") it has been possible to use ioeventfds in\nqtest or TCG mode.\n\nThis patch makes -device virtio-blk-pci,iothread=iothread0 work even\nwhen KVM is disabled.\n\nI have tested that virtio-blk-pci works under TCG both with and without\niothread.\n\nCc: Michael S. Tsirkin <mst@redhat.com>\nSigned-off-by: Stefan Hajnoczi <stefanha@redhat.com>\nReviewed-by: Michael S. Tsirkin <mst@redhat.com>\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/a9da86d8cb170b4efc68c1d2463e5ef4da56cdbd"},{"sha":"25ed5c8ed09d790b9293e1bdfa3971f50b098e5e","author":{"name":"Stefan Hajnoczi","email":"94c9a8f93d854d47ca810881c950deb3298e8e1d@redhat.com"},"message":"migration: hold AioContext lock for loadvm qemu_fclose()\n\nmigration_incoming_state_destroy() uses qemu_fclose() on the vmstate\nfile.  Make sure to call it inside an AioContext acquire/release region.\n\nThis fixes an 'qemu: qemu_mutex_unlock: Operation not permitted' abort\nin loadvm.\n\nThis patch closes the vmstate file before ending the drained region.\nPreviously we closed the vmstate file after ending the drained region.\nThe order does not matter.\n\nSigned-off-by: Stefan Hajnoczi <stefanha@redhat.com>\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/25ed5c8ed09d790b9293e1bdfa3971f50b098e5e"},{"sha":"5d5fc25408bd210a3aec8b07826bc8f0ddec9d29","author":{"name":"Stefan Hajnoczi","email":"94c9a8f93d854d47ca810881c950deb3298e8e1d@redhat.com"},"message":"qemu-iotests: 068: extract _qemu() function\n\nAvoid duplicating the QEMU command-line.\n\nSigned-off-by: Stefan Hajnoczi <stefanha@redhat.com>\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/5d5fc25408bd210a3aec8b07826bc8f0ddec9d29"},{"sha":"c3b42df056991adf2b889870f4c23d0e86ea9678","author":{"name":"Stefan Hajnoczi","email":"94c9a8f93d854d47ca810881c950deb3298e8e1d@redhat.com"},"message":"qemu-iotests: 068: use -drive/-device instead of -hda\n\nThe legacy -hda option does not support -drive/-device parameters.  They\nwill be required by the next patch that extends this test case.\n\nSigned-off-by: Stefan Hajnoczi <stefanha@redhat.com>\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/c3b42df056991adf2b889870f4c23d0e86ea9678"},{"sha":"413e31912565a49cfeca94b397df3fcee3640a7c","author":{"name":"Stefan Hajnoczi","email":"94c9a8f93d854d47ca810881c950deb3298e8e1d@redhat.com"},"message":"qemu-iotests: 068: test iothread mode\n\nPerform the savevm/loadvm test with both iothread on and off.  This\ncovers the recently found savevm/loadvm hang when iothread is enabled.\n\nSigned-off-by: Stefan Hajnoczi <stefanha@redhat.com>\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/413e31912565a49cfeca94b397df3fcee3640a7c"},{"sha":"405d093bbbf7ad456650a44b2bfcfd92f5e92fb7","author":{"name":"Stephen Bates","email":"177d0b340270578e325a104eb07a870bc881048b@raithlin.com"},"message":"nvme: Add support for Read Data and Write Data in CMBs.\n\nAdd the ability for the NVMe model to support both the RDS and WDS\nmodes in the Controller Memory Buffer.\n\nAlthough not currently supported in the upstreamed Linux kernel a fork\nwith support exists [1] and user-space test programs that build on\nthis also exist [2].\n\nUseful for testing CMB functionality in preperation for real CMB\nenabled NVMe devices (coming soon).\n\n[1] https://github.com/sbates130272/linux-p2pmem\n[2] https://github.com/sbates130272/p2pmem-test\n\nSigned-off-by: Stephen Bates <sbates@raithlin.com>\nReviewed-by: Logan Gunthorpe <logang@deltatee.com>\nReviewed-by: Keith Busch <keith.busch@intel.com>\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/405d093bbbf7ad456650a44b2bfcfd92f5e92fb7"},{"sha":"bf55b88f171ec46f6cd313db4ccfe477a3eb0f21","author":{"name":"Alberto Garcia","email":"fbe0ea738a82b949abc14952fdfd197ea9b8524e@igalia.com"},"message":"qcow2: Remove unused Error variable in do_perform_cow()\n\nWe are using the return value of qcow2_encrypt_sectors() to detect\nproblems but we are throwing away the returned Error since we have no\nway to report it to the user. Therefore we can simply get rid of the\nlocal Error variable and pass NULL instead.\n\nAlternatively we could try to figure out a way to pass the original\nerror instead of simply returning -EIO, but that would be more\ninvasive, so let's keep the current approach.\n\nSigned-off-by: Alberto Garcia <berto@igalia.com>\nReviewed-by: Eric Blake <eblake@redhat.com>\nReviewed-by: Kevin Wolf <kwolf@redhat.com>\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/bf55b88f171ec46f6cd313db4ccfe477a3eb0f21"},{"sha":"1cdcf472d0a4bacc506444e91f5c1db2b8c64eef","author":{"name":"Alberto Garcia","email":"fbe0ea738a82b949abc14952fdfd197ea9b8524e@igalia.com"},"message":"qcow2: Use unsigned int for both members of Qcow2COWRegion\n\nQcow2COWRegion has two attributes:\n\n- The offset of the COW region from the start of the first cluster\n  touched by the I/O request. Since it's always going to be positive\n  and the maximum request size is at most INT_MAX, we can use a\n  regular unsigned int to store this offset.\n\n- The size of the COW region in bytes. This is guaranteed to be >= 0,\n  so we should use an unsigned type instead.\n\nIn x86_64 this reduces the size of Qcow2COWRegion from 16 to 8 bytes.\nIt will also help keep some assertions simpler now that we know that\nthere are no negative numbers.\n\nThe prototype of do_perform_cow() is also updated to reflect these\nchanges.\n\nSigned-off-by: Alberto Garcia <berto@igalia.com>\nReviewed-by: Eric Blake <eblake@redhat.com>\nReviewed-by: Kevin Wolf <kwolf@redhat.com>\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/1cdcf472d0a4bacc506444e91f5c1db2b8c64eef"},{"sha":"75bb0d0b96f1362245d95cf3fac5cb2f84e1a5ef","author":{"name":"Alberto Garcia","email":"fbe0ea738a82b949abc14952fdfd197ea9b8524e@igalia.com"},"message":"qcow2: Make perform_cow() call do_perform_cow() twice\n\nInstead of calling perform_cow() twice with a different COW region\neach time, call it just once and make perform_cow() handle both\nregions.\n\nThis patch simply moves code around. The next one will do the actual\nreordering of the COW operations.\n\nSigned-off-by: Alberto Garcia <berto@igalia.com>\nReviewed-by: Eric Blake <eblake@redhat.com>\nReviewed-by: Kevin Wolf <kwolf@redhat.com>\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/75bb0d0b96f1362245d95cf3fac5cb2f84e1a5ef"},{"sha":"cccb4304989dd78c522ff09caf853782ebd1d172","author":{"name":"Alberto Garcia","email":"fbe0ea738a82b949abc14952fdfd197ea9b8524e@igalia.com"},"message":"qcow2: Split do_perform_cow() into _read(), _encrypt() and _write()\n\nThis patch splits do_perform_cow() into three separate functions to\nread, encrypt and write the COW regions.\n\nperform_cow() can now read both regions first, then encrypt them and\nfinally write them to disk. The memory allocation is also done in\nthis function now, using one single buffer large enough to hold both\nregions.\n\nSigned-off-by: Alberto Garcia <berto@igalia.com>\nReviewed-by: Kevin Wolf <kwolf@redhat.com>\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>","distinct":true,"url":"https://api.github.com/repos/philmd/qemu/commits/cccb4304989dd78c522ff09caf853782ebd1d172"}]}
{"actor":{"display_login":"philmd"}}