1. 16 12月, 2014 12 次提交
  2. 15 12月, 2014 14 次提交
  3. 14 12月, 2014 2 次提交
    • L
      qemu: add a qemuInterfaceStopDevices(), called when guest CPUs stop · c5a54917
      Laine Stump 提交于
      We now have a qemuInterfaceStartDevices() which does the final
      activation needed for the host-side tap/macvtap devices that are used
      for qemu network connections. It will soon make sense to have the
      converse qemuInterfaceStopDevices() which will undo whatever was done
      during qemuInterfaceStartDevices().
      
      A function to "stop" a single device has also been added, and is
      called from the appropriate place in qemuDomainDetachNetDevice(),
      although this is currently unnecessary - the device is going to
      immediately be deleted anyway, so any extra "deactivation" will be for
      naught. The call is included for completeness, though, in anticipation
      that in the future there may be some required action that *isn't*
      nullified by deleting the device.
      
      This patch is a part of a more complete fix for:
      
        https://bugzilla.redhat.com/show_bug.cgi?id=1081461
      c5a54917
    • L
      qemu: always call qemuInterfaceStartDevices() when starting CPUs · 879c13d6
      Laine Stump 提交于
      The patch that added qemuInterfaceStartDevices() (upstream commit
      82977058) had an extra conditional to
      prevent calling it if the reason for starting the CPUs was
      VIR_DOMAIN_RUNNING_UNPAUSED or VIR_DOMAIN_RUNNING_SAVE_CANCELED.  This
      was put in by the author as the result of a reviewer asking if it was
      necessary to ifup the interfaces in *all* occasions (because these
      were the two cases where the CPU would have already been started (and
      stopped) once, so the interface would already be ifup'ed).
      
      It turns out that, as long as there is no corresponding
      qemuInterfaceStopDevices() to ifdown the interfaces anytime the CPUs
      are stopped, neglecting to ifup when reason is RUNNING_UNPAUSED or
      RUNNING_SAVE_CANCELED doesn't cause any problems (because it just
      happens that the interface will have already been ifup'ed by a prior
      call when the CPU was previously started for some other reason).
      
      However, it also doesn't *help*, and there will soon be a
      qemuInterfaceStopDevices() function which *will* ifdown these
      interfaces when the guest CPUs are stopped, and once that is done, the
      interfaces will be left down in some cases when they should be up (for
      example, if a domain is paused and then unpaused).
      
      So, this patch is removing the condition in favor of always calling
      qemuInterfaeStartDevices() when the guest CPUs are started.
      
      This patch (and the aforementioned patch) resolve:
      
        https://bugzilla.redhat.com/show_bug.cgi?id=1081461
      879c13d6
  4. 13 12月, 2014 3 次提交
    • M
      qemu: avoid rare race when undefining domain · c7d1c139
      Martin Kletzander 提交于
      When one domain is being undefined and at the same time started, for
      example, there is a possibility of a rare problem occuring.
      
       - Thread 1 does virDomainUndefine(), has the lock, checks that the
         domain is active and because it's not, calls
         virDomainObjListRemove().
      
       - Thread 2 does virDomainCreate() and tries to lock the domain.
      
       - Thread 1 needs to lock domain list in order to remove the domain from
         it, but must unlock domain first (proper order is to lock domain list
         first and the domain itself second).
      
       - Thread 2 grabs the lock, starts the domain and releases the lock.
      
       - Thread 1 grabs the lock and removes the domain from list.
      
      With this patch:
      
       - The undefining domain gets marked as "to undefine" before it is
          unlocked.
      
       - If domain is found in any of the search APIs, it's returned only if
         it is not marked as "to undefine".  The check is done while the
         domain is locked.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1150505Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      c7d1c139
    • L
      conf: Ignore device address for model=none usb controller and memballon · f6f4bd10
      Luyao Huang 提交于
      It make no sense at all to have it there.
      Signed-off-by: NLuyao Huang <lhuang@redhat.com>
      f6f4bd10
    • C
      Avoid getting '-1:-1' in devices cgroup list · 5acbb8f9
      Cédric Bosdonnat 提交于
      When calling virCgroupAllowAllDevices we get these invalid entries
      in the device cgroup config.
          b -1:-1 rw
          c -1:-1 rw
      Check for positive values before outputting the major and minor to
      avoid that.
      5acbb8f9
  5. 12 12月, 2014 1 次提交
  6. 11 12月, 2014 6 次提交
  7. 10 12月, 2014 2 次提交
    • C
      lxc: give RW access to /proc/sys/net/ipv[46] to containers · ba9b7252
      Cédric Bosdonnat 提交于
      Some programs want to change some values for the network interfaces
      configuration in /proc/sys/net/ipv[46] folders. Giving RW access on them
      allows wicked to work on openSUSE 13.2+.
      
      Reusing the lxcNeedNetworkNamespace function to tell
      lxcContainerMountBasicFS if the netns is disabled. When no netns is
      set up, then we don't mount the /proc/sys/net/ipv[46] folder RW as
      these would provide full access to the host NICs config.
      ba9b7252
    • J
      viriscsi: Need to sendtargets on Initiator IQN · 72925169
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1172015
      
      The refactoring done as part of commit id '59446096' caused a regression
      for the multi initiator IQN commit '6aabcb5b' because the sendtargets was
      not done on/for the initiator IQN prior to login (or trying to disable
      autologin)
      
      Prior to that commit, the paths were essentially
      
      virStorageBackendISCSIStartPool
          virStorageBackendISCSILogin
              virStorageBackendISCSIConnection
                  if initiatoriqn
                      virStorageBackendCreateIfaceIQN
                      Issue sendtargets
                      Perform --login
                  else
                      Issue sendtargets
                      Perform --login
      
      After that commit:
      
      virStorageBackendISCSIStartPool
          Issue sendtargets
          Call virStorageBackendISCSIConnection
              If initiatoriqn
                  virStorageBackendCreateIfaceIQN
                  Perform --login
              else
                  Perform --login
      
      So for non initiator IQN paths, nothing changed. For the initiator path,
      the --login fails as does any attempts to change autologin via "--op update
      --name node.startup --value manual".
      72925169