1. 24 6月, 2016 2 次提交
  2. 21 6月, 2016 1 次提交
    • L
      conf: limit chassisNr, and busNr to a minimum value of 1, not 0 · df2fb9bf
      Laine Stump 提交于
      In the case of chassisNr (used to set chassis_nr of a pci-bridge
      controller), 0 is reserved for / used by the pci[e]-root bus. In the
      base of busNr, a value of 0 would mean that the root bus had no places
      available to plug in new buses, including the pxb itself (the
      documentation I wrote for pxb even noted the limit of busNr as 1.254).
      
      NB: oddly, the "chassis" attribute, which is used for pcie-root-port
      and pcie-switch-downstream-port *can* be set to 0, since it's the
      combination of {chassis, slot} that needs to be unique, not chassis by
      itself (and slot 0 of pcie-root is reserved, while pcie-*-port can use
      *only* slot 0).
      
      This resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1342962
      df2fb9bf
  3. 17 6月, 2016 1 次提交
  4. 16 6月, 2016 1 次提交
  5. 15 6月, 2016 2 次提交
  6. 14 6月, 2016 6 次提交
  7. 09 6月, 2016 5 次提交
  8. 08 6月, 2016 1 次提交
  9. 06 6月, 2016 1 次提交
  10. 04 6月, 2016 1 次提交
  11. 30 5月, 2016 1 次提交
  12. 28 5月, 2016 1 次提交
    • M
      docs: Teach apibuild to deal with (1U << 31) too · 38df47c9
      Michal Privoznik 提交于
      The apibuild script is a terrifying beast that parses some source
      files of ours and produces an XML representation of them. When it
      comes to parsing enums we have in some header files, it tries to
      be clever and detect a value that an enum member has (or if it is
      an alias for a different member). Whilst doing that it has to
      deal with values we give to the members in many formats. At some
      places we just pass the value in decimal:
      
          VIR_DOMAIN_BLOCK_JOB_TYPE_PULL = 1,
      
      in other places, we use the aliasing:
      
          VIR_CONNECT_GET_ALL_DOMAINS_STATS_ACTIVE = VIR_CONNECT_LIST_DOMAINS_ACTIVE,
      
      and in other places bitwise shifts are used:
      
          VIR_CONNECT_GET_ALL_DOMAINS_STATS_ENFORCE_STATS = 1 << 31, /* enforce requested stats */
      
      The script tries to parse all of these resulting in the following
      tokens: "1", "VIR_CONNECT_LIST_DOMAINS_ACTIVE", "1<<31"; Then, the
      script tries to turn these into integers using python's eval()
      function. This function succeeds on the first and the last
      tokens. But, if we were to modify the last example so that it's
      of the following form:
      
          VIR_CONNECT_GET_ALL_DOMAINS_STATS_ENFORCE_STATS = 1U << 31, /* enforce requested stats */
      
      the token representing enum's member value will then be "1U<<31".
      So our parsing is good. Unfortunately, python is not aware of the
      difference between signed and unsigned C types, therefore eval()
      fails over this token and the parser falls back thinking it's an
      alias to another enum member. Well it's not.
      
      The solution is to transform [0-9]U into [0-9] as for our
      purposes here it's the same thing.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      38df47c9
  13. 26 5月, 2016 1 次提交
    • L
      conf: permit auto-assignment of controller indexes · 4d100c7a
      Laine Stump 提交于
      Hand-entering indexes for 20 PCI controllers is not as tedious as
      manually determining and entering their PCI addresses, but it's still
      annoying, and the algorithm for determining the proper index is
      incredibly simple (in all cases except one) - just pick the lowest
      unused index.
      
      The one exception is USB2 controllers because multiple controllers in
      the same group have the same index. For these we look to see if 1) the
      most recently added USB controller is also a USB2 controller, and 2)
      the group *that* controller belongs to doesn't yet have a controller
      of the exact model we're just now adding - if both are true, the new
      controller gets the same index, but in all other cases we just assign
      the lowest unused index.
      
      With this patch in place and combined with the automatic PCI address
      assignment, we can define a PCIe switch with several ports like this:
      
        <controller type='pci' model='pcie-root-port'/>
        <controller type='pci' model='pcie-switch-upstream-port'/>
        <controller type='pci' model='pcie-switch-downstream-port'/>
        <controller type='pci' model='pcie-switch-downstream-port'/>
        <controller type='pci' model='pcie-switch-downstream-port'/>
        <controller type='pci' model='pcie-switch-downstream-port'/>
        <controller type='pci' model='pcie-switch-downstream-port'/>
        ...
      
      These will each get a unique index, and PCI addresses that connect
      them together appropriately with no pesky numbers required.
      4d100c7a
  14. 25 5月, 2016 1 次提交
  15. 21 5月, 2016 1 次提交
    • L
      conf: allow type='pci' addresses with no address attributes specified · 8f578716
      Laine Stump 提交于
      Prior to this, <address type='pci'/> wasn't allowed when parsing
      (domain+bus+slot+function needed to be a "valid" PCI address, meaning
      that at least one of domain/bus/slot had to be non-0), the RNG
      required bus to be specified, and if type was set to PCI when
      formatting, domain+bus+slot+function would always be output.
      
      This makes all the address attributes optional during parse and RNG
      validation, and suppresses domain+bus+slot+function if domain+bus+slot
      are all 0 (NB: if d+b+s are all 0, any value for function is
      nonsensical as that will never happen in the real world, and after
      the next patch we will always assign a real working address to any
      empty PCI address before it is ever output to anywhere).
      
      Note that explicitly setting all attributes to 0 is equivalent to
      setting none of them, which is okay, since 0000:00:00 is reserved in
      any PCI bus setup, and can't be used anyway.
      8f578716
  16. 20 5月, 2016 1 次提交
  17. 17 5月, 2016 2 次提交
  18. 14 5月, 2016 1 次提交
    • M
      virtestmock: Print invalid file accesses into a file · 6326865e
      Michal Privoznik 提交于
      All the accesses to files outside our build or source directories
      are now identified and appended into a file for later processing.
      The location of the file that contains all the records can be
      controlled via VIR_TEST_FILE_ACCESS env variable and defaults to
      abs_builddir "/test_file_access.txt".
      
      The script that will process the access file is to be added in
      next commit.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      6326865e
  19. 12 5月, 2016 1 次提交
  20. 11 5月, 2016 4 次提交
    • J
      storage: Fix algorithm generating path names for devmapper · e7bde8d3
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1265694
      
      Commit id '020135dc' didn't quite get the algorithm correct when a
      device mapper source ended with a non numeric value (e.g. ends with
      an alphabet value).
      
      This patch modifies the 'part_separator' logic to add the "p" separator
      to the attempted target path name only when specified as part_separator='yes'.
      
      For a source name that already ends with a number, the logic doesn't change
      as the part separator would need to be there.
      
      For a source name that ends with something other than a number, this allows
      the possibility that a "p" separator can be added. The default for one of
      these source devices is to not add the separator.
      
      The key for device mapper and the need for a partition separator "p" is
      the presence of a number in the last character of the device name link
      in /dev/mapper.  A name such as "/dev/mapper/mpatha1" would generate
      a "/dev/mapper/mpatha1p1" partition, while "/dev/mapper/mpatha" would
      generate partition "/dev/mapper/mpatha1". Similarly for a device
      mapper entry not using friendly names or an alias, a device such as
      "/dev/mapper/3600a0b80005b10ca00005ad656fd8d93" would generate a
      paritition "/dev/mapper/3600a0b80005b10ca00005ad656fd8d93p1", while
      a device such as "/dev/mapper/3600a0b80005b10ca00005e115729093f" would
      generate a partition "/dev/mapper/3600a0b80005b10ca00005e115729093f1".
      The long number is the WWID of the device. It's also possible to assign
      an alias for a device mapper entry, that alias follows the same rules
      with respect to ending with a number or not when adding a "p" to create
      the target device path.
      e7bde8d3
    • J
      docs: Fix disk "volume" description · 70ac2461
      John Ferlan 提交于
      Missing a close single quote and a 'be' before used.
      70ac2461
    • L
      docs: fix version number in vlan tagging documentation · f21017ab
      Laine Stump 提交于
      My brain suffered a time warp and I got the version number wrong.
      f21017ab
    • L
      util: set vlan tag for macvtap passthrough mode on SRIOV VFs · 75db9997
      Laine Stump 提交于
      SRIOV VFs used in macvtap passthrough mode can take advantage of the
      SRIOV card's transparent vlan tagging. All the code was there to set
      the vlan tag, and it has been used for SRIOV VFs used for hostdev
      interfaces for several years, but for some reason, the vlan tag for
      macvtap passthrough devices was stubbed out with a -1.
      
      This patch moves a bit of common validation down to a lower level
      (virNetDevReplaceNetConfig()) so it is shared by hostdev and macvtap
      modes, and updates the macvtap caller to actually send the vlan config
      instead of -1.
      75db9997
  21. 10 5月, 2016 2 次提交
  22. 04 5月, 2016 3 次提交