1. 28 9月, 2012 2 次提交
  2. 21 9月, 2012 1 次提交
  3. 17 9月, 2012 1 次提交
    • O
      list: Implement listAllNodeDevices · c68cd62a
      Osier Yang 提交于
      This simply implements listAllNodeDevices using helper virNodeDeviceList
      
      src/node_device/node_device_driver.h:
        * Declare nodeListAllNodeDevices.
      
      src/node_device/node_device_driver.c:
        * Implement nodeListAllNodeDevices.
      
      src/node_device/node_device_hal.c:
        * Hook listAllNodeDevices to nodeListAllNodeDevices.
      
      src/node_device/node_device_udev.c
        * Hook listAllNodeDevices to nodeListAllNodeDevices.
      c68cd62a
  4. 23 7月, 2012 1 次提交
    • O
      Desert the FSF address in copyright · f9ce7dad
      Osier Yang 提交于
      Per the FSF address could be changed from time to time, and GNU
      recommends the following now: (http://www.gnu.org/licenses/gpl-howto.html)
      
        You should have received a copy of the GNU General Public License
        along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
      
      This patch removes the explicit FSF address, and uses above instead
      (of course, with inserting 'Lesser' before 'General').
      
      Except a bunch of files for security driver, all others are changed
      automatically, the copyright for securify files are not complete,
      that's why to do it manually:
      
        src/security/security_selinux.h
        src/security/security_driver.h
        src/security/security_selinux.c
        src/security/security_apparmor.h
        src/security/security_apparmor.c
        src/security/security_driver.c
      f9ce7dad
  5. 19 7月, 2012 1 次提交
  6. 10 4月, 2012 1 次提交
    • E
      build: avoid s390 compiler warnings · 9011a494
      Eric Blake 提交于
      I noticed these compiler warnings when building for the s390 architecture.
      
      * src/node_device/node_device_udev.c (udevDeviceMonitorStartup):
      Mark unused variable.
      * src/nodeinfo.c (linuxNodeInfoCPUPopulate): Avoid unused variable.
      9011a494
  7. 30 3月, 2012 1 次提交
  8. 27 9月, 2011 1 次提交
  9. 08 9月, 2011 1 次提交
  10. 16 8月, 2011 1 次提交
  11. 20 7月, 2011 1 次提交
  12. 13 7月, 2011 1 次提交
    • E
      node_device: reject unknown flags · ba78d2cf
      Eric Blake 提交于
      * src/node_device/node_device_driver.c (nodeNumOfDevices)
      (nodeListDevices, nodeDeviceGetXMLDesc, nodeDeviceCreateXML):
      Reject unknown flags.
      * src/node_device/node_device_hal.c (halNodeDrvOpen): Likewise.
      * src/node_device/node_device_udev.c (udevNodeDrvOpen): Likewise.
      ba78d2cf
  13. 08 7月, 2011 1 次提交
    • E
      drivers: prefer unsigned int for flags · 1740c381
      Eric Blake 提交于
      Now that the public APIs always use unsigned flags, the internal
      driver callbacks might as well do likewise.
      
      * src/driver.h (vrDrvOpen, virDrvDomainCoreDump)
      (virDrvDomainGetXMLDesc, virDrvNetworkGetXMLDesc)
      (virDrvNWFilterGetXMLDesc): Update type.
      * src/remote/remote_protocol.x (remote_open_args)
      (remote_domain_core_dump_args, remote_domain_get_xml_desc_args)
      (remote_network_get_xml_desc_args)
      (remote_nwfilter_get_xml_desc_args): Likewise.
      * src/test/test_driver.c: Update clients.
      * src/remote/remote_driver.c: Likewise.
      * src/xen/xen_hypervisor.c: Likewise.
      * src/xen/xen_hypervisor.h: Likewise.
      * src/xen/xen_driver.c: Likewise.
      * src/xen/xend_internal.c: Likewise.
      * src/xen/xend_internal.h: Likewise.
      * src/xen/xm_internal.c: Likewise.
      * src/xen/xm_internal.h: Likewise.
      * src/xen/xs_internal.c: Likewise.
      * src/xen/xs_internal.h: Likewise.
      * src/xen/xen_inotify.c: Likewise.
      * src/xen/xen_inotify.h: Likewise.
      * src/phyp/phyp_driver.c: Likewise.
      * src/openvz/openvz_driver.c: Likewise.
      * src/vmware/vmware_driver.c: Likewise.
      * src/vbox/vbox_driver.c: Likewise.
      * src/vbox/vbox_tmpl.c: Likewise.
      * src/xenapi/xenapi_driver.c: Likewise.
      * src/esx/esx_driver.c: Likewise.
      * src/esx/esx_interface_driver.c: Likewise.
      * src/esx/esx_network_driver.c: Likewise.
      * src/esx/esx_storage_driver.c: Likewise.
      * src/esx/esx_device_monitor.c: Likewise.
      * src/esx/esx_secret_driver.c: Likewise.
      * src/esx/esx_nwfilter_driver.c: Likewise.
      * src/interface/netcf_driver.c: Likewise.
      * src/nwfilter/nwfilter_driver.c: Likewise.
      * src/libxl/libxl_driver.c: Likewise.
      * src/qemu/qemu_driver.c: Likewise.
      * src/lxc/lxc_driver.c: Likewise.
      * src/uml/uml_driver.c: Likewise.
      * src/network/bridge_driver.c: Likewise.
      * src/secret/secret_driver.c: Likewise.
      * src/storage/storage_driver.c: Likewise.
      * src/node_device/node_device_hal.c: Likewise.
      * src/node_device/node_device_udev.c: Likewise.
      * src/remote_protocol-structs: Likewise.
      1740c381
  14. 21 6月, 2011 1 次提交
    • C
      Promote virEvent*Handle/Timeout to public API · 6094ad7b
      Cole Robinson 提交于
      Since we virEventRegisterDefaultImpl is now a public API, callers need
      a way to invoke the default registered Handle and Timeout functions. We
      already have general functions for these internally, so promote
      them to the public API.
      
      v2:
          Actually add APIs to libvirt.h
      6094ad7b
  15. 06 6月, 2011 1 次提交
  16. 12 5月, 2011 2 次提交
    • L
      libvirt,logging: cleanup VIR_XXX0() · b65f37a4
      Lai Jiangshan 提交于
      These VIR_XXXX0 APIs make us confused, use the non-0-suffix APIs instead.
      
      How do these coversions works? The magic is using the gcc extension of ##.
      When __VA_ARGS__ is empty, "##" will swallow the "," in "fmt," to
      avoid compile error.
      
      example: origin				after CPP
      	high_level_api("%d", a_int)	low_level_api("%d", a_int)
      	high_level_api("a  string")	low_level_api("a  string")
      
      About 400 conversions.
      
      8 special conversions:
      VIR_XXXX0("") -> VIR_XXXX("msg") (avoid empty format) 2 conversions
      VIR_XXXX0(string_literal_with_%) -> VIR_XXXX(%->%%) 0 conversions
      VIR_XXXX0(non_string_literal) -> VIR_XXXX("%s", non_string_literal)
        (for security) 6 conversions
      Signed-off-by: NLai Jiangshan <laijs@cn.fujitsu.com>
      b65f37a4
    • E
      node_device: avoid null dereference on error · 98cd17bd
      Eric Blake 提交于
      If we plow on after udev_device_get_syspath fails, we will hit a NULL
      dereference.  Clang found one due to strdup later in udevSetParent,
      but in fact we hit a NULL dereference sooner because of the use of
      STREQ within virNodeDeviceFindBySysfsPath.
      
      * src/conf/node_device_conf.h (virNodeDeviceFindBySysfsPath): Mark
      path argument non-null.
      * src/node_device/node_device_udev.c (udevSetParent): Avoid null
      dereference.
      98cd17bd
  17. 06 5月, 2011 1 次提交
    • E
      maint: rename virBufferVSprintf to virBufferAsprintf · 68ea80cf
      Eric Blake 提交于
      We already have virAsprintf, so picking a similar name helps for
      seeing a similar purpose.  Furthermore, the prefix V before printf
      generally implies 'va_list', even though this variant was '...', and
      the old name got in the way of adding a new va_list version.
      
      global rename performed with:
      
      $ git grep -l virBufferVSprintf \
        | xargs -L1 sed -i 's/virBufferVSprintf/virBufferAsprintf/g'
      
      then revert the changes in ChangeLog-old.
      68ea80cf
  18. 03 5月, 2011 1 次提交
  19. 07 4月, 2011 1 次提交
    • S
      Change locking for udev monitor and callbacks · 28795828
      Serge Hallyn 提交于
      We're seeing bugs apparently resulting from thread unsafety of
      libpciaccess, such as
      https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/726099
      To prevent those, as suggested by danpb on irc, move the
      nodeDeviceLock(driverState) higher into the callers.  In
      particular:
      
        udevDeviceMonitorStartup should hold the lock while calling
        udevEnumerateDevices(), and udevEventHandleCallback should hold it
        over its entire execution.
      
      It's not clear to me whether it is ok to hold the
      nodeDeviceLock while taking the virNodeDeviceObjLock(dev) on a
      device.  If not, then the lock will need to be dropped around
      the calling of udevSetupSystemDev(), and udevAddOneDevice()
      may not actually be safe to call from higher layers with the
      driverstate lock held.
      
      libvirt 0.8.8 with this patch on it seems to work fine for me.
      Assuming it looks ok and I haven't done anything obviously dumb,
      I'll ask the bug submitters to try this patch.
      Signed-off-by: NSerge Hallyn <serge.hallyn@ubuntu.com>
      28795828
  20. 05 4月, 2011 1 次提交
    • E
      build: detect potentential uninitialized variables · 0d166c6b
      Eric Blake 提交于
      Even with -Wuninitialized (which is part of autobuild.sh
      --enable-compile-warnings=error), gcc does NOT catch this
      use of an uninitialized variable:
      
      {
        if (cond)
          goto error;
        int a = 1;
      error:
        printf("%d", a);
      }
      
      which prints 0 (supposing the stack started life wiped) if
      cond was true.  Clang will catch it, but we don't use clang
      as often.  Using gcc -Wjump-misses-init catches it, but also
      gives false positives:
      
      {
        if (cond)
          goto error;
        int a = 1;
        return a;
      error:
        return 0;
      }
      
      Here, a was never used in the scope of the error block, so
      declaring it after goto is technically fine (and clang agrees).
      However, given that our HACKING already documents a preference
      to C89 decl-before-statement, the false positive warning is
      enough of a prod to comply with HACKING.
      
      [Personally, I'd _really_ rather use C99 decl-after-statement
      to minimize scope, but until gcc can efficiently and reliably
      catch scoping and uninitialized usage bugs, I'll settle with
      the compromise of enforcing a coding standard that happens to
      reject false positives if it can also detect real bugs.]
      
      * acinclude.m4 (LIBVIRT_COMPILE_WARNINGS): Add -Wjump-misses-init.
      * src/util/util.c (__virExec): Adjust offenders.
      * src/conf/domain_conf.c (virDomainTimerDefParseXML): Likewise.
      * src/remote/remote_driver.c (doRemoteOpen): Likewise.
      * src/phyp/phyp_driver.c (phypGetLparNAME, phypGetLparProfile)
      (phypGetVIOSFreeSCSIAdapter, phypVolumeGetKey)
      (phypGetStoragePoolDevice)
      (phypVolumeGetPhysicalVolumeByStoragePool)
      (phypVolumeGetPath): Likewise.
      * src/vbox/vbox_tmpl.c (vboxNetworkUndefineDestroy)
      (vboxNetworkCreate, vboxNetworkDumpXML)
      (vboxNetworkDefineCreateXML): Likewise.
      * src/xenapi/xenapi_driver.c (getCapsObject)
      (xenapiDomainDumpXML): Likewise.
      * src/xenapi/xenapi_utils.c (createVMRecordFromXml): Likewise.
      * src/security/security_selinux.c (SELinuxGenNewContext):
      Likewise.
      * src/qemu/qemu_command.c (qemuBuildCommandLine): Likewise.
      * src/qemu/qemu_hotplug.c (qemuDomainChangeEjectableMedia):
      Likewise.
      * src/qemu/qemu_process.c (qemuProcessWaitForMonitor): Likewise.
      * src/qemu/qemu_monitor_text.c (qemuMonitorTextGetPtyPaths):
      Likewise.
      * src/qemu/qemu_driver.c (qemudDomainShutdown)
      (qemudDomainBlockStats, qemudDomainMemoryPeek): Likewise.
      * src/storage/storage_backend_iscsi.c
      (virStorageBackendCreateIfaceIQN): Likewise.
      * src/node_device/node_device_udev.c (udevProcessPCI): Likewise.
      0d166c6b
  21. 22 3月, 2011 1 次提交
  22. 10 2月, 2011 3 次提交
    • D
      Adjust some log levels in udev driver · 7a4bc156
      Daniel P. Berrange 提交于
      Most of te VIR_INFO calls in the udev driver are only relevant
      to developers so can switch to VIR_DEBUG. Failure to initialize
      libpciaccess though is a fatal error
      
      * src/node_device/node_device_udev.c: Adjust log levels
      7a4bc156
    • D
      Support SCSI RAID type & lower log level for unknown types · cd782cc3
      Daniel P. Berrange 提交于
      The Linux kernel headers don't have a value for SCSI type 12,
      but HAL source code shows this to be a 'raid'. Add workaround
      for this type. Lower log level for unknown types since
      this is not a fatal error condition. Include the device sysfs
      path in the log output to allow identification of which device
      has problems.
      
      * src/node_device/node_device_udev.c: Add SCSI RAID type
      cd782cc3
    • D
      Only initialize/cleanup libpciaccess once · 2215050e
      Daniel P. Berrange 提交于
      libpciaccess has many bugs in its pci_system_init/cleanup
      functions that makes calling them multiple times unwise.
      eg it will double close() FDs, and leak other FDs.
      
      * src/node_device/node_device_udev.c: Only initialize
        libpciaccess once
      2215050e
  23. 04 1月, 2011 1 次提交
    • C
      node_device: udev driver does not handle SR-IOV devices · 51798a5d
      Chris Wright 提交于
      The udev driver does not update a PCI device with its SR-IOV capabilities,
      when applicable, the way the hal driver does.  As a result, dumping the
      device's XML will not include the relevant physical or virtual function
      information.
      
      With this patch, the XML is correct:
      
      # virsh nodedev-dumpxml pci_0000_09_00_0
      <device>
        <name>pci_0000_09_00_0</name>
        <parent>pci_0000_00_1c_0</parent>
        <driver>
          <name>vxge</name>
        </driver>
        <capability type='pci'>
          <domain>0</domain>
          <bus>9</bus>
          <slot>0</slot>
          <function>0</function>
          <product id='0x5833'>X3100 Series 10 Gigabit Ethernet PCIe</product>
          <vendor id='0x17d5'>Neterion Inc.</vendor>
          <capability type='virt_functions'>
            <address domain='0x0000' bus='0x0a' slot='0x00' function='0x1'/>
            <address domain='0x0000' bus='0x0a' slot='0x00' function='0x2'/>
            <address domain='0x0000' bus='0x0a' slot='0x00' function='0x3'/>
          </capability>
        </capability>
      </device>
      
      # virsh nodedev-dumpxml pci_0000_0a_00_1
      <device>
        <name>pci_0000_0a_00_1</name>
        <parent>pci_0000_00_1c_0</parent>
        <driver>
          <name>vxge</name>
        </driver>
        <capability type='pci'>
          <domain>0</domain>
          <bus>10</bus>
          <slot>0</slot>
          <function>1</function>
          <product id='0x5833'>X3100 Series 10 Gigabit Ethernet PCIe</product>
          <vendor id='0x17d5'>Neterion Inc.</vendor>
          <capability type='phys_function'>
            <address domain='0x0000' bus='0x09' slot='0x00' function='0x0'/>
          </capability>
        </capability>
      </device>
      
      Cc: Dave Allan <dallan@redhat.com>
      Signed-off-by: NChris Wright <chrisw@redhat.com>
      51798a5d
  24. 02 7月, 2010 1 次提交
  25. 09 6月, 2010 1 次提交
    • D
      Fix leaks in udev device add/remove v3 · e7f3bad4
      David Allan 提交于
      * This patch is a modification of a patch submitted by Nigel Jones.
        It fixes several memory leaks on device addition/removal:
      
      1. Free the virNodeDeviceDefPtr in udevAddOneDevice if the return
         value is non-zero
      
      2. Always release the node device reference after the device has been
         processed.
      
      * Refactored for better readability per the suggestion of clalance
      e7f3bad4
  26. 29 5月, 2010 1 次提交
    • D
      Improve nodedev parent/child relationships · 8b46a7bb
      David Allan 提交于
      * If a nodedev has a parent that we don't want to display, we should
        continue walking up the udev device tree to see if any of its
        earlier ancestors are devices that we display.  It makes the tree
        much nicer looking than having a whole lot of devices hanging off
        the root node.
      8b46a7bb
  27. 28 5月, 2010 1 次提交
    • D
      v2 of Cole's wlan support · 07f6c3a9
      David Allan 提交于
      * Incorporated Jim's feedback (v1 & v2)
      
      * Moved case of DEVTYPE == "wlan" up as it's definitive that we have a network interface.
      
      * Made comment more detailed about the wired case to explain better
        how it differentiates between wired network interfaces and USB
        devices.
      07f6c3a9
  28. 26 5月, 2010 1 次提交
    • D
      Expose a host UUID in the capabilities XML · 60881161
      Daniel P. Berrange 提交于
      Allow for a host UUID in the capabilities XML. Local drivers
      will initialize this from the SMBIOS data. If a sanity check
      shows SMBIOS uuid is invalid, allow an override from the
      libvirtd.conf configuration file
      
      * daemon/libvirtd.c, daemon/libvirtd.conf: Support a host_uuid
        configuration option
      * docs/schemas/capability.rng: Add optional host uuid field
      * src/conf/capabilities.c, src/conf/capabilities.h: Include
        host UUID in XML
      * src/libvirt_private.syms: Export new uuid.h functions
      * src/lxc/lxc_conf.c, src/qemu/qemu_driver.c,
        src/uml/uml_conf.c: Set host UUID in capabilities
      * src/util/uuid.c, src/util/uuid.h: Support for host UUIDs
      * src/node_device/node_device_udev.c: Use the host UUID functions
      * tests/confdata/libvirtd.conf, tests/confdata/libvirtd.out: Add
        new host_uuid config option to test
      60881161
  29. 21 5月, 2010 3 次提交
  30. 12 5月, 2010 1 次提交
  31. 29 4月, 2010 1 次提交
  32. 28 4月, 2010 1 次提交
  33. 06 4月, 2010 1 次提交
  34. 18 3月, 2010 1 次提交
    • E
      maint: make Red Hat copyright notices consistent · 0a336335
      Eric Blake 提交于
      Spell out 'Red Hat, Inc.':
       git grep -i 'Copyright.*Red Hat' | grep -v Inc
      
      Include (C) consistently:
       git grep -i 'Copyright [^(].*Red Hat'
      
      * src/lxc/lxc_container.c: Update copyright formatting.
      * src/node_device/node_device_udev.c: Likewise.
      * src/node_device/node_device_udev.h: Likewise.
      * src/xen/xend_internal.h: Likewise.
      * src/xen/xm_internal.c: Likewise.
      * src/xen/xm_internal.h: Likewise.
      * tests/xmconfigtest.c: Likewise.
      * tests/object-locking.ml: Likewise.
      * tools/virt-pki-validate.in: Likewise.
      * tools/virt-xml-validate.in: Likewise.
      0a336335