{"push_id":1434695231,"size":21,"distinct_size":10,"ref":"refs/heads/nvdimm2","head":"064e59de62fe5f368349184d426165ab310851e6","before":"dddc53c81abbda97d57f97323f44389f26f51c23","commits":[{"sha":"e026563f0136a04b177e3627cec3afab233da690","author":{"name":"Laine Stump","email":"5116b02f16c03abd1615869c9ce1568cbda149e8@laine.org"},"message":"util: new function virFileLength()\n\nThis new function just calls fstat() (if provided with a valid fd) or\nstat() (if fd is -1) and returns st_size (or -1 if there is an\nerror). We may decide we want this function to be more complex, and\nhandle things like block devices - this is a placeholder (that works)\nfor any more complicated function.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/e026563f0136a04b177e3627cec3afab233da690"},{"sha":"bfdc14515366894348e943ff33671f19037bf4d6","author":{"name":"Laine Stump","email":"5116b02f16c03abd1615869c9ce1568cbda149e8@laine.org"},"message":"util: new function virPCIDeviceGetConfigPath()\n\nThe path to the config file for a PCI device is conventiently stored\nin a virPCIDevice object, but that object's contents aren't directly\nvisible outside of virpci.c, so we need to have an accessor function\nfor it if anyone needs to look at it.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/bfdc14515366894348e943ff33671f19037bf4d6"},{"sha":"9b0848d52349a432244da49b64e99a211f85a26b","author":{"name":"Laine Stump","email":"5116b02f16c03abd1615869c9ce1568cbda149e8@laine.org"},"message":"qemu: propagate virQEMUDriver object to qemuDomainDeviceCalculatePCIConnectFlags\n\nIf libvirtd is running unprivileged, it can open a device's PCI config\ndata in sysfs, but can only read the first 64 bytes. But as part of\ndetermining whether a device is Express or legacy PCI,\nqemuDomainDeviceCalculatePCIConnectFlags() will be updated in a future\npatch to call virPCIDeviceIsPCIExpress(), which tries to read beyond\nthe first 64 bytes of the PCI config data and fails with an error log\nif the read is unsuccessful.\n\nIn order to avoid creating a parallel \"quiet\" version of\nvirPCIDeviceIsPCIExpress(), this patch passes a virQEMUDriverPtr down\nthrough all the call chains that initialize the\nqemuDomainFillDevicePCIConnectFlagsIterData, and saves the driver\npointer with the rest of the iterdata so that it can be used by\nqemuDomainDeviceCalculatePCIConnectFlags(). This pointer isn't used\nyet, but will be used in an upcoming patch (that detects Express vs\nlegacy PCI for VFIO assigned devices) to examine driver->privileged.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/9b0848d52349a432244da49b64e99a211f85a26b"},{"sha":"70249927b7c2d40220a40c96571b26734666c253","author":{"name":"Laine Stump","email":"5116b02f16c03abd1615869c9ce1568cbda149e8@laine.org"},"message":"qemu: assign VFIO devices to PCIe addresses when appropriate\n\nAlthough nearly all host devices that are assigned to guests using\nVFIO (\"<hostdev>\" devices in libvirt) are physically PCI Express\ndevices, until now libvirt's PCI address assignment has always\nassigned them addresses on legacy PCI controllers in the guest, even\nif the guest's machinetype has a PCIe root bus (e.g. q35 and\naarch64/virt).\n\nThis patch tries to assign them to an address on a PCIe controller\ninstead, when appropriate. First we do some preliminary checks that\nmight allow setting the flags without doing any extra work, and if\nthose conditions aren't met (and if libvirt is running privileged so\nthat it has proper permissions), we perform the (relatively) time\nconsuming task of reading the device's PCI config to see if it is an\nExpress device. If this is successful, the connect flags are set based\non the result, but if we aren't able to read the PCI config (most\nlikely due to the device not being present on the system at the time\nof the check) we assume it is (or will be) an Express device, since\nthat is almost always the case anyway.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/70249927b7c2d40220a40c96571b26734666c253"},{"sha":"655429a0d4a51e7deb533e1d17c1a41360ad2965","author":{"name":"Eric Farman","email":"67d46cbb889eebc9087624b3bb00cd53268011fe@linux.vnet.ibm.com"},"message":"qemu: Prevent detaching SCSI controller used by hostdev\n\nConsider the following XML snippets:\n\n  $ cat scsicontroller.xml\n      <controller type='scsi' model='virtio-scsi' index='0'/>\n  $ cat scsihostdev.xml\n      <hostdev mode='subsystem' type='scsi'>\n        <source>\n          <adapter name='scsi_host0'/>\n          <address bus='0' target='8' unit='1074151456'/>\n        </source>\n      </hostdev>\n\nIf we create a guest that includes the contents of scsihostdev.xml,\nbut forget the virtio-scsi controller described in scsicontroller.xml,\none is silently created for us.  The same holds true when attaching\na hostdev before the matching virtio-scsi controller.\n(See qemuDomainFindOrCreateSCSIDiskController for context.)\n\nDetaching the hostdev, followed by the controller, works well and the\nguest behaves appropriately.\n\nIf we detach the virtio-scsi controller device first, any associated\nhostdevs are detached for us by the underlying virtio-scsi code (this\nis fine, since the connection is broken).  But all is not well, as the\nguest is unable to receive new virtio-scsi devices (the attach commands\nsucceed, but devices never appear within the guest), nor even be\nshutdown, after this point.\n\nWhile this is not libvirt's problem, we can prevent falling into this\nscenario by checking if a controller is being used by any hostdev\ndevices.  The same is already done for disk elements today.\n\nApplying this patch and then using the XML snippets from earlier:\n\n  $ virsh detach-device guest_01 scsicontroller.xml\n  error: Failed to detach device from scsicontroller.xml\n  error: operation failed: device cannot be detached: device is busy\n\n  $ virsh detach-device guest_01 scsihostdev.xml\n  Device detached successfully\n\n  $ virsh detach-device guest_01 scsicontroller.xml\n  Device detached successfully\n\nSigned-off-by: Eric Farman <farman@linux.vnet.ibm.com>\nReviewed-by: Bjoern Walk <bwalk@linux.vnet.ibm.com>\nReviewed-by: Boris Fiuczynski <fiuczy@linux.vnet.ibm.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/655429a0d4a51e7deb533e1d17c1a41360ad2965"},{"sha":"d092ccc40f998df2c624e01b518c5f74b1c57058","author":{"name":"Andrea Bolognani","email":"0c58d8c54619c257465b8c09c1c6917894f8def9@redhat.com"},"message":"NEWS: Remove end-of-sentence period\n\nNone of the other sentences in the file ends with the period,\nand we want to maintain a consistent style.","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/d092ccc40f998df2c624e01b518c5f74b1c57058"},{"sha":"6e9607bd2af03e9160703ffbb2b98356eefab559","author":{"name":"Daniel P. Berrange","email":"5d1320ff3c85681bb6d7ea4b0b2f371698325ec8@redhat.com"},"message":"Refresh translations from zanata","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/6e9607bd2af03e9160703ffbb2b98356eefab559"},{"sha":"bde3fe5718f0da823e9b3416fff44935370ebf8e","author":{"name":"Laine Stump","email":"5116b02f16c03abd1615869c9ce1568cbda149e8@laine.org"},"message":"news: Add \"more PCIe less legacy PCI\" to list of new features","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/bde3fe5718f0da823e9b3416fff44935370ebf8e"},{"sha":"d7b97e21a7cd2c1c7a4e6252780f2eb89be8faed","author":{"name":"Martin Kletzander","email":"b95c1c5986c2c30eff5096e3d1c8d4510b550570@redhat.com"},"message":"news: Remove full stop at the end of the sentence\n\nTo stay consistent.\n\nSigned-off-by: Martin Kletzander <mkletzan@redhat.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/d7b97e21a7cd2c1c7a4e6252780f2eb89be8faed"},{"sha":"f81b33b50c6cad384d32067c8e28f404f54a530d","author":{"name":"gaohaifeng","email":"52f31956ebf37e7a1c8fe3dd8ed2a5e48d8b16a8@huawei.com"},"message":"qemuDomainAttachNetDevice: pass mq and vectors for vhost-user with multiqueue\n\nTwo reasons:\n1.in none hotplug, we will pass it. We can see from libvirt function\nqemuBuildVhostuserCommandLine\n2.qemu will use this vetcor num to init msix table. If we don't pass, qemu\nwill use default value, this will cause VM can only use default value\ninterrupts at most.\n\nSigned-off-by: gaohaifeng <gaohaifeng.gao@huawei.com>","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/f81b33b50c6cad384d32067c8e28f404f54a530d"},{"sha":"ff8e021225ce5d2ca962ea433172df42f2d52c78","author":{"name":"Yuri Chornoivan","email":"6aae7b7333e164ce55e5e4d0a64ea4db2d01edbb@ukr.net"},"message":"Fix minor typos","distinct":false,"url":"https://api.github.com/repos/zippy2/libvirt/commits/ff8e021225ce5d2ca962ea433172df42f2d52c78"},{"sha":"5f51bbb731bd3ec2b19fe4bcee9903c8af545dec","author":{"name":"Michal Privoznik","email":"ff52d8b477e4489d0b3b856d550bc61214c6ad4b@redhat.com"},"message":"Introduce NVDIMM memory model\n\nNVDIMM is new type of memory introduced in qemu. The idea is that\nwe have a DIMM module that keeps the data persistent across\ndomain reboots.\nAt the domain XML level, we already have some representation of\n'dimm' modules. Long story short, we have <memory/> element that\nlives under <devices/>. Now, the element even has @model\nattribute which we can use to introduce new memory type:\n\n    <memory model='nvdimm'>\n      <source>\n        <path>/tmp/nvdimm</path>\n      </source>\n      <target>\n        <size unit='KiB'>523264</size>\n        <node>0</node>\n      </target>\n    </memory>\n\nSo far, this is just a XML parser/formatter extension. QEMU\ndriver implementation is in the next commit.\n\nFor more info on NVDIMM visit the following web page:\n\n    http://pmem.io/\n\nSigned-off-by: Michal Privoznik <mprivozn@redhat.com>","distinct":true,"url":"https://api.github.com/repos/zippy2/libvirt/commits/5f51bbb731bd3ec2b19fe4bcee9903c8af545dec"},{"sha":"9b320675d10a17c02eaef8402b6c41204aa7e78f","author":{"name":"Michal Privoznik","email":"ff52d8b477e4489d0b3b856d550bc61214c6ad4b@redhat.com"},"message":"qemu: Introduce QEMU_CAPS_DEVICE_NVDIMM\n\nIntroduce a qemu capability for -device nvdimm.\n\nSigned-off-by: Michal Privoznik <mprivozn@redhat.com>","distinct":true,"url":"https://api.github.com/repos/zippy2/libvirt/commits/9b320675d10a17c02eaef8402b6c41204aa7e78f"},{"sha":"f130490f684e7c6e608286430e18635498f927dd","author":{"name":"Michal Privoznik","email":"ff52d8b477e4489d0b3b856d550bc61214c6ad4b@redhat.com"},"message":"qemu: Implement NVDIMM\n\nSo, majority of the code is just ready as-is. Well, with one\nslight change: differentiate between dimm and nvdimm in places\nlike device alias generation, generating the command line and so\non.\n\nSpeaking of the command line, we also need to append 'nvdimm=on'\nto the '-machine' argument so that the nvdimm feature is\nadvertised in the ACPI tables properly.\n\nSigned-off-by: Michal Privoznik <mprivozn@redhat.com>","distinct":true,"url":"https://api.github.com/repos/zippy2/libvirt/commits/f130490f684e7c6e608286430e18635498f927dd"},{"sha":"57a704e0108c183ba61cd815e2242c0559d568e8","author":{"name":"Michal Privoznik","email":"ff52d8b477e4489d0b3b856d550bc61214c6ad4b@redhat.com"},"message":"conf: Introduce memAccess to <memory/>\n\nNow that NVDIMM has found its way into libvirt, users might want\nto fine tune some settings for each module separately. One such\nsetting is 'share=on|off' for the memory-backend-file object.\nThis setting - just like its name suggest already - enables\nsharing the nvdimm module with other applications. Under the hood\nit controls whether qemu mmaps() the file as MAP_PRIVATE or\nMAP_SHARED.\n\nYet again, we have such config knob in domain XML, but it's just\nan attribute to numa <cell/>. This does not give fine enough\ntuning on per-memdevice basis so we need to have the attribute\nfor each device too.\n\nSigned-off-by: Michal Privoznik <mprivozn@redhat.com>","distinct":true,"url":"https://api.github.com/repos/zippy2/libvirt/commits/57a704e0108c183ba61cd815e2242c0559d568e8"},{"sha":"10a58a328c1c384fe6c29607e745688be75673c6","author":{"name":"Michal Privoznik","email":"ff52d8b477e4489d0b3b856d550bc61214c6ad4b@redhat.com"},"message":"qemu: Implement memAccess for <memory/> banks\n\nSigned-off-by: Michal Privoznik <mprivozn@redhat.com>","distinct":true,"url":"https://api.github.com/repos/zippy2/libvirt/commits/10a58a328c1c384fe6c29607e745688be75673c6"},{"sha":"54e784435133f1f100cafcfe39a4e48fce53b984","author":{"name":"Michal Privoznik","email":"ff52d8b477e4489d0b3b856d550bc61214c6ad4b@redhat.com"},"message":"security_dac: Label host side of NVDIMM\n\nWhen domain is being started up, we ought to relabel the host\nside of NVDIMM so qemu has access to it.\n\nSigned-off-by: Michal Privoznik <mprivozn@redhat.com>","distinct":true,"url":"https://api.github.com/repos/zippy2/libvirt/commits/54e784435133f1f100cafcfe39a4e48fce53b984"},{"sha":"9683831a6141053ae2e5a1431fa84c8f68c71fea","author":{"name":"Michal Privoznik","email":"ff52d8b477e4489d0b3b856d550bc61214c6ad4b@redhat.com"},"message":"security_selinux: Label host side of NVDIMM\n\nWhen domain is being started up, we ought to relabel the host\nside of NVDIMM so qemu has access to it.\n\nSigned-off-by: Michal Privoznik <mprivozn@redhat.com>","distinct":true,"url":"https://api.github.com/repos/zippy2/libvirt/commits/9683831a6141053ae2e5a1431fa84c8f68c71fea"},{"sha":"ae822ef2f5c3cb671dec2fbd815a2cbe5faeb87c","author":{"name":"Michal Privoznik","email":"ff52d8b477e4489d0b3b856d550bc61214c6ad4b@redhat.com"},"message":"security: Introduce internal APIs for memdev labelling\n\nThese APIs will be used whenever we are hot (un-)plugging a\nmemdev.\n\nSigned-off-by: Michal Privoznik <mprivozn@redhat.com>","distinct":true,"url":"https://api.github.com/repos/zippy2/libvirt/commits/ae822ef2f5c3cb671dec2fbd815a2cbe5faeb87c"},{"sha":"05bdf5cb5eb146b2479c9d9cc11a89465056a6b0","author":{"name":"Michal Privoznik","email":"ff52d8b477e4489d0b3b856d550bc61214c6ad4b@redhat.com"},"message":"secdrivers: Implement memdev relabel APIs\n\nSigned-off-by: Michal Privoznik <mprivozn@redhat.com>","distinct":true,"url":"https://api.github.com/repos/zippy2/libvirt/commits/05bdf5cb5eb146b2479c9d9cc11a89465056a6b0"}]}
{"actor":{"display_login":"zippy2"}}