1. 19 1月, 2017 1 次提交
  2. 18 1月, 2017 12 次提交
    • B
      nodedev: Fabric name must not be required for fc_host capability · 666bee39
      Boris Fiuczynski 提交于
      fabric_name is one of many fc_host attributes in Linux that is optional
      and left to the low-level driver to decide if it is implemented.
      The zfcp device driver does not provide a fabric name for an fcp host.
      
      This patch removes the requirement for a fabric name by making it optional.
      Signed-off-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com>
      666bee39
    • B
      util: add file exists check in virReadFCHost · d5922692
      Boris Fiuczynski 提交于
      File open errors are prevented by a file exists check before
      virFileReadAll is called since all callers of the virReadFCHost
      method handle errors themselves based on the NULL return anyway.
      Also included is a minor spelling correction in a comment.
      Signed-off-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com>
      d5922692
    • J
      disk: Fixup error handling path for devmapper when part_separator='yes' · 0d157b3f
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1346566
      
      If libvirt_parthelper is erroneously told to append the partition
      separator 'p' onto the generated output for a disk pool using device
      mapper that has 'user_friendly_names' set to true, then the error
      recovery path will fail to find volume resulting in the pool being
      in an unusable state.
      
      So, augment the documentation to provide the better hint that the
      part_separator='yes' should be set when user_friendly_names are not
      being used. Additionally, once we're in the error path where the
      returned name doesn't match the expected partition name try to see
      if the reason is because the 'p' was erroneosly added. If so alter
      the about to be removed vol->target.path so that the DiskDeleteVol
      code can find the partition that was created and remove it.
      0d157b3f
    • J
      storage: Allow probe of volume capacity for BLOCK type · 9508682b
      John Ferlan 提交于
      If the voldef type is VIR_STORAGE_VOL_BLOCK, then as long as the
      format is known, let's allow the probe to happen - gets a truer value
      and the same probe/update would be allowed for the same volume defined
      in a domain.
      9508682b
    • J
      storage: Fix virStorageBackendUpdateVolTargetInfo type check · d04bb05f
      John Ferlan 提交于
      For volume processing in virStorageBackendUpdateVolTargetInfo to get
      the capacity commit id 'a760ba3a' added the ability to probe a volume
      that didn't list a target format. Unfortunately, the code used the
      virStorageSource  (e.g. target->type - virStorageType) rather than
      virStorageVolDef (e.g. vol->type - virStorageVolType) in order to
      make the comparison. As it turns out target->type for a volume is
      not filled in at all for a voldef as the code relies on vol->type.
      Ironically the result is that only VIR_STORAGE_VOL_BLOCK's would get
      their capacity updated.
      
      This patch will adjust the code to check the "vol->type" field instead
      as an argument. This way for a voldef, the correct comparison is made.
      
      Additionally for a backingStore, the 'type' field is never filled in;
      however, since we know that the provided path is a location at which
      the backing store can be accessed on the local filesystem thus just
      pass VIR_STORAGE_VOL_FILE in order to satisfy the adjusted voltype
      check. Whether it's a FILE or a BLOCK only matters if we're trying to
      get more data based on the target->format.
      d04bb05f
    • P
      storage: gluster: Remove build-time dependency on the 'gluster' cli tool · 9e97c8c0
      Peter Krempa 提交于
      The tool is used for pool discovery. Since we call an external binary we
      don't really need to compile out the code that uses it. We can check
      whether it exists at runtime.
      9e97c8c0
    • P
      storage: gluster: Report error if no volumes were found in pool lookup · ce5055d7
      Peter Krempa 提交于
      Similarly to the 'netfs' pool, return an error if the host does not have
      any volumes.
      ce5055d7
    • P
      storage: Fix error reporting when looking up storage pool sources · 7bdb4b8f
      Peter Krempa 提交于
      In commit 4090e153 we went back from reporting no errors if no storage
      pools were found on a given host to reporting a bad error. And only in
      cases when gluster was not installed.
      
      Report a less bad error in case there are no volumes. Also report the
      error when gluster is installed but no volumes were found, since
      virStorageBackendFindGlusterPoolSources would return success in that
      case.
      7bdb4b8f
    • P
      qemu: Move cpu hotplug code into qemu_hotplug.c · 9d14cf59
      Peter Krempa 提交于
      Move all the worker code into the appropriate file. This will also allow
      testing of cpu hotplug.
      9d14cf59
    • P
      qemu: Prepare for reuse of qemuDomainSetVcpusLive · 5570f267
      Peter Krempa 提交于
      Extract the call to qemuDomainSelectHotplugVcpuEntities outside of
      qemuDomainSetVcpusLive and decide whether to hotplug or unplug the
      entities specified by the cpumap using a boolean flag.
      
      This will allow to use qemuDomainSetVcpusLive in cases where we prepare
      the list of vcpus to enable or disable by other means.
      5570f267
    • P
      util: json: Add helper to reformat JSON strings · 15727562
      Peter Krempa 提交于
      For use in test cases it will be helpful to allow reformatting JSON
      strings. Add a wrapper on top of the parser and formatter to achieve
      this.
      15727562
    • P
      qemu: monitor: More strict checking of 'query-cpus' if hotplug is supported · 5cd670fe
      Peter Krempa 提交于
      In cases where CPU hotplug is supported by qemu force the monitor to
      reject invalid or broken responses to 'query-cpus'. It's expected that
      the command returns usable data in such case.
      5cd670fe
  3. 17 1月, 2017 5 次提交
  4. 14 1月, 2017 3 次提交
    • J
      storage: Alter error message in probe/empty checks · 40ec4ff6
      John Ferlan 提交于
      For case VIR_STORAGE_BLKID_PROBE_DIFFERENT, clean up the message to
      avoid using the virsh like --overwrite syntax. Additionally provide
      a different error message when not writing the label to avoid confusion.
      40ec4ff6
    • J
      storage: Clean up return value checking · f462f9ad
      John Ferlan 提交于
      Rather than special casing the VIR_STORAGE_BLKID_PROBE_UNKNOWN after
      calling virStorageBackendBLKIDFindPart, just allow the switch statement
      handle setting ret = -2.
      f462f9ad
    • J
      storage: Alter logic when both BLKID and PARTED unavailable · d1f5dfc4
      John Ferlan 提交于
      If neither BLKID or PARTED is available and we're not writing, then
      just return 0 which allows the underlying storage pool to generate
      a failure. If both are unavailable and we're writing, then generate
      a more generic error message.
      d1f5dfc4
  5. 13 1月, 2017 5 次提交
    • C
      qemu-capabilities: Fix query-cpu-model-expansion on s390 with older kernel · e8a43f19
      Collin L. Walling 提交于
      When running on s390 with a kernel that does not support cpu model checking and
      with a Qemu new enough to support query-cpu-model-expansion, the gathering of qemu
      capabilities will fail. Qemu responds to the query-cpu-model-expansion qmp
      command with an error because the needed kernel ioct does not exist. When this
      happens a guest cannot even be defined due to missing qemu capabilities data.
      
      This patch fixes the problem by silently ignoring generic errors stemming from
      calls to query-cpu-model-expansion.
      Reported-by: NFarhan Ali <alifm@linux.vnet.ibm.com>
      Signed-off-by: NCollin L. Walling <walling@linux.vnet.ibm.com>
      Signed-off-by: NJason J. Herne <jjherne@linux.vnet.ibm.com>
      e8a43f19
    • M
      qemu: Copy SELinux labels for namespace too · 93a062c3
      Michal Privoznik 提交于
      When creating new /dev/* for qemu, we do chown() and copy ACLs to
      create the exact copy from the original /dev. I though that
      copying SELinux labels is not necessary as SELinux will chose the
      sane defaults. Surprisingly, it does not leaving namespace with
      the following labels:
      
      crw-rw-rw-. root root system_u:object_r:tmpfs_t:s0     random
      crw-------. root root system_u:object_r:tmpfs_t:s0     rtc0
      drwxrwxrwt. root root system_u:object_r:tmpfs_t:s0     shm
      crw-rw-rw-. root root system_u:object_r:tmpfs_t:s0     urandom
      
      As a result, domain is unable to start:
      
      error: internal error: process exited while connecting to monitor: Error in GnuTLS initialization: Failed to acquire random data.
      qemu-kvm: cannot initialize crypto: Unable to initialize GNUTLS library: Failed to acquire random data.
      
      The solution is to copy the SELinux labels as well.
      Reported-by: NAndrea Bolognani <abologna@redhat.com>
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      93a062c3
    • P
      Revert "storage: Validate the device formats at logical startup" · a80957c5
      Peter Krempa 提交于
      The check is pointless since LVM is capable to detect it's own members
      and the check is flawed as it would fail if neither libblkid nor parted
      is installed.
      
      We don't really need to babysit LVM in this way.
      
      This reverts commit cb38b6cb.
      a80957c5
    • P
      Revert "storage: For FS pool check for properly formatted target volume" · 9538dff9
      Peter Krempa 提交于
      The check does not work properly (crashes) with netfs filesystems and
      also checking that a device is not empty when attempting to mount a
      filesystem is not very usefull since the mount will fail anyways.
      
      As the code would improve only a very minor corner case I don't really
      see a reason to have this code at all.
      
      This code would also fail if libvirt is compiled without support for
      blkid and without parted.
      
      This reverts commit a11fd697.
      9538dff9
    • J
      libxl: always enable pae for x86_64 HVM · ecb587e4
      Jim Fehlig 提交于
      For HVM domains, pae is only set in libxl_domain_build_info when
      explicitly specified in the hypervisor <features> config. This is
      fine for i686 machines, but is incorrect behavior for x86_64 machines
      where pae must always be enabled. See the following discussion for
      additional details
      
      https://www.redhat.com/archives/libvir-list/2017-January/msg00254.html
      ecb587e4
  6. 12 1月, 2017 9 次提交
  7. 11 1月, 2017 5 次提交
    • P
      remote: do not check for an existing config dir · 1a5de3fe
      Pino Toscano 提交于
      When composing the path to the default known_hosts file (for the libssh
      and libssh2 drivers), do not check whether the configuration directory
      (determined by virGetUserConfigDirectory()) exists: both the drivers can
      handle non-existing files, and are able to create them (and their
      directories) in that case.
      
      This adds a small behaviour change: before, the key for an unknown host,
      and manually accepted, was saved only if the configuration directory
      existed -- a bit incoherent behaviour though.
      1a5de3fe
    • P
      remote: fix logic for known_hosts and keyfile checks · 45c4a70c
      Pino Toscano 提交于
      If any of them is specified for the libssh and libssh2 drivers, there is
      no need to depend on checks based on other paths: in particular, a
      specified path for known_hosts was ignored if the local config directory
      could not be determined, and the path for keyfile was ignored if the
      home could not be determined.
      
      Instead, lazily determine and use these two paths only in case they are
      needed.
      45c4a70c
    • P
      rpc: libssh: allow a NULL known_hosts file · 408a1ce5
      Pino Toscano 提交于
      Make sure that virNetLibsshSessionSetHostKeyVerification accepts a NULL
      value for the path to the known_hosts file:
      - call ssh_options_set(SSH_OPTIONS_KNOWNHOSTS) anyway, using /dev/null,
        otherwise libssh will use its default path
      - do not call ssh_write_knownhost when no known hosts file was set
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1406457
      408a1ce5
    • L
      conf: eliminate virDomainPCIAddressReleaseSlot() in favor of ...Addr() · 5949b53a
      Laine Stump 提交于
      Surprisingly there was a virDomainPCIAddressReleaseAddr() function
      already, but it was completely unused. Since we don't reserve entire
      slots at once any more, there is no need to release entire slots
      either, so we just replace the single call to
      virDomainPCIAddressReleaseSlot() with a call to
      virDomainPCIAddressReleaseAddr() and remove the now unused function.
      
      The keen observer may be concerned that ...Addr() doesn't call
      virDomainPCIAddressValidate(), as ...Slot() did. But really the
      validation was pointless anyway - if the device hadn't been suitable
      to be connected at that address, it would have failed validation
      before every being reserved in the first place, so by definition it
      will pass validation when it is being unplugged. (And anyway, even if
      something "bad" happened and we managed to have a device incorrectly
      at the given address, we would still want to be able to free it up for
      use by a device that *did* validate properly).
      5949b53a
    • L
      qemu: rename qemuDomainPCIAddressReserveNextSlot() to ...Addr() · 6cc20142
      Laine Stump 提交于
      This function doesn't actually reserve an entire slot any more, it
      reserves a single PCI address, so this name is more appropriate.
      6cc20142