1. 13 3月, 2014 1 次提交
    • O
      qemu: Forbid "sgio" support for SCSI generic host device · ce346623
      Osier Yang 提交于
      The kernel didn't support the unprivileged SGIO for SCSI generic
      device finally, and since it's unknow whether the way to support
      unprivileged SGIO for SCSI generic device will be similar as for
      SCSI block device or not, even it's simliar (I.e. via sysfs, for
      SCSI block device, it's /sys/dev/block/8\:0/queue/unpriv_sgio,
      for example), the file name might be different, So it's better not
      guess what it should be like currently.
      
      This patch removes the related code (mainly about the "shareable"
      checking on the "sgio" setting, it's not supported at all, why
      we leave checking code there? :-), and error out if "sgio" is
      specified in the domain config.
      ce346623
  2. 11 3月, 2014 1 次提交
    • D
      Remove broken error reporting in QEMU mac filtering · cfb92c9b
      Daniel P. Berrange 提交于
      The qemu_bridge_filter.c file had some helpers for calling
      the ebtablesXXX functions todo bridge filtering. The only
      thing these helpers did was to overwrite the original error
      message from the ebtables code. For added fun, the callers
      of these helpers overwrote the errors yet again. For even
      more fun, one of the helpers called another helper and
      overwrite its errors too.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      cfb92c9b
  3. 10 3月, 2014 1 次提交
  4. 14 2月, 2014 2 次提交
  5. 30 1月, 2014 1 次提交
    • O
      util: Add one argument for several scsi utils · 10c9ceff
      Osier Yang 提交于
      To support passing the path of the test data to the utils, one
      more argument is added to virSCSIDeviceGetSgName,
      virSCSIDeviceGetDevName, and virSCSIDeviceNew, and the related
      code is changed accordingly.
      
      Later tests for the scsi utils will be based on this patch.
      Signed-off-by: NOsier Yang <jyang@redhat.com>
      10c9ceff
  6. 29 1月, 2014 1 次提交
    • P
      snapshot: Add support for specifying snapshot disk backing type · 7076b4b7
      Peter Krempa 提交于
      Add support for specifying various types when doing snapshots. This will
      later allow to do snapshots on network backed volumes. Disks of type
      'volume' are not supported by snapshots (yet).
      
      Also amend the test suite to check parsing of the various new disk
      types that can now be specified.
      7076b4b7
  7. 22 1月, 2014 1 次提交
  8. 05 12月, 2013 1 次提交
  9. 03 12月, 2013 2 次提交
    • P
      qemu: Clear old translated pool source · bdeb0f01
      Peter Krempa 提交于
      Clear the old data to avoid leaking it when attempting to re-translate a
      pool on the same domain object.
      bdeb0f01
    • P
      qemu: Refactor qemuTranslateDiskSourcePool · e1a4d08b
      Peter Krempa 提交于
      Before this patch, the translation function still needs a second ugly
      helper function to actually format the command line for qemu. But if we
      do the right stuff in the translation function, we don't have to bother
      with the second function any more.
      
      This patch removes the messy qemuBuildVolumeString function and changes
      qemuTranslateDiskSourcePool to set stuff up correctly so that the
      regular code paths meant for volumes can be used to format the command
      line correctly.
      
      For this purpose a new helper "qemuDiskGetActualType()" is introduced to
      return the type of the volume in a pool.
      
      As a part of the refactor the qemuTranslateDiskSourcePool function is
      fixed to do decisions based on the pool type instead of the volume type.
      This allows to separate pool-type-specific stuff more clearly and will
      ease addition of other pool types that will require certain other
      operations to get the correct pool source.
      
      The previously fixed tests should make sure that we don't break stuff
      that was working before.
      e1a4d08b
  10. 02 12月, 2013 1 次提交
  11. 26 11月, 2013 1 次提交
    • E
      storage: add network-dir as new storage volume type · ecd881b7
      Eric Blake 提交于
      In the 'directory' and 'netfs' storage pools, a user can see
      both 'file' and 'dir' storage volume types, to know when they
      can descend into a subdirectory.  But in a network-based storage
      pool, such as the upcoming 'gluster' pool, we use 'network'
      instead of 'file', and did not have any counterpart for a
      directory until this patch.  Adding a new volume type
      'network-dir' is better than reusing 'dir', because it makes
      it clear that the only way to access 'network' volumes within
      that container is through the network mounting (leaving 'dir'
      for something accessible in the local file system).
      
      * include/libvirt/libvirt.h.in (virStorageVolType): Expand enum.
      * docs/formatstorage.html.in: Document it.
      * docs/schemasa/storagevol.rng (vol): Allow new value.
      * src/conf/storage_conf.c (virStorageVol): Use new value.
      * src/qemu/qemu_command.c (qemuBuildVolumeString): Fix client.
      * src/qemu/qemu_conf.c (qemuTranslateDiskSourcePool): Likewise.
      * tools/virsh-volume.c (vshVolumeTypeToString): Likewise.
      * src/storage/storage_backend_fs.c
      (virStorageBackendFileSystemVolDelete): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      ecd881b7
  12. 21 11月, 2013 1 次提交
    • E
      maint: fix comma style issues: qemu · 5d509e9e
      Eric Blake 提交于
      Most of our code base uses space after comma but not before;
      fix the remaining uses before adding a syntax check.
      
      * src/qemu/qemu_cgroup.c: Consistently use commas.
      * src/qemu/qemu_command.c: Likewise.
      * src/qemu/qemu_conf.c: Likewise.
      * src/qemu/qemu_driver.c: Likewise.
      * src/qemu/qemu_monitor.c: Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      5d509e9e
  13. 29 10月, 2013 1 次提交
    • G
      capabilities: add baselabel per sec driver/virt type to secmodel · b51038a4
      Giuseppe Scrivano 提交于
      Expand the "secmodel" XML fragment of "host" with a sequence of
      baselabel's which describe the default security context used by
      libvirt with a specific security model and virtualization type:
      
      <secmodel>
        <model>selinux</model>
        <doi>0</doi>
        <baselabel type='kvm'>system_u:system_r:svirt_t:s0</baselabel>
        <baselabel type='qemu'>system_u:system_r:svirt_tcg_t:s0</baselabel>
      </secmodel>
      <secmodel>
        <model>dac</model>
        <doi>0</doi>
        <baselabel type='kvm'>107:107</baselabel>
        <baselabel type='qemu'>107:107</baselabel>
      </secmodel>
      
      "baselabel" is driver-specific information, e.g. in the DAC security
      model, it indicates USER_ID:GROUP_ID.
      Signed-off-by: NGiuseppe Scrivano <gscrivan@redhat.com>
      Signed-off-by: NEric Blake <eblake@redhat.com>
      b51038a4
  14. 18 10月, 2013 1 次提交
  15. 17 10月, 2013 1 次提交
  16. 15 10月, 2013 1 次提交
    • E
      maint: avoid 'const fooPtr' in qemu · 9a520a59
      Eric Blake 提交于
      'const fooPtr' is the same as 'foo * const' (the pointer won't
      change, but it's contents can).  But in general, if an interface
      is trying to be const-correct, it should be using 'const foo *'
      (the pointer is to data that can't be changed).
      
      Fix up offenders in src/qemu.
      
      * src/qemu/qemu_bridge_filter.h (networkAllowMacOnPort)
      (networkDisallowMacOnPort): Use intended type.
      * src/qemu/qemu_bridge_filter.c (networkAllowMacOnPort)
      (networkDisallowMacOnPort): Likewise.
      * src/qemu/qemu_command.c (qemuBuildTPMBackendStr)
      (qemuBuildTPMDevStr, qemuBuildCpuArgStr)
      (qemuBuildObsoleteAccelArg, qemuBuildMachineArgStr)
      (qemuBuildSmpArgStr, qemuBuildNumaArgStr): Likewise.
      * src/qemu/qemu_conf.c (qemuSharedDeviceEntryCopy): Likewise.
      * src/qemu/qemu_driver.c (qemuDomainSaveImageStartVM): Likewise.
      * src/qemu/qemu_hostdev.c
      (qemuDomainHostdevNetConfigVirtPortProfile): Likewise.
      * src/qemu/qemu_monitor_json.c
      (qemuMonitorJSONAttachCharDevCommand): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      9a520a59
  17. 14 10月, 2013 1 次提交
  18. 11 10月, 2013 1 次提交
  19. 25 9月, 2013 1 次提交
  20. 03 9月, 2013 1 次提交
    • C
      qemu: Set QEMU_AUDIO_DRV=none with -nographic · a216e648
      Cole Robinson 提交于
      On my machine, a guest fails to boot if it has a sound card, but not
      graphical device/display is configured, because pulseaudio fails to
      initialize since it can't access $HOME.
      
      A workaround is removing the audio device, however on ARM boards there
      isn't any option to do that, so -nographic always fails.
      
      Set QEMU_AUDIO_DRV=none if no <graphics> are configured. Unfortunately
      this has massive test suite fallout.
      
      Add a qemu.conf parameter nographics_allow_host_audio, that if enabled
      will pass through QEMU_AUDIO_DRV from sysconfig (similar to
      vnc_allow_host_audio)
      a216e648
  21. 21 8月, 2013 1 次提交
    • O
      qemu_conf: Fix broken logic for adding passthrough iscsi lun · 109d026a
      Osier Yang 提交于
      Following XML would fail :
      
          <disk type='network' device='lun'>
            <driver name='qemu' type='raw'/>
            <source protocol='iscsi' name='iqn.2013-07.com.example:iscsi/1'>
              <host name='example.com' port='3260'/>
            </source>
            <target dev='sda' bus='scsi'/>
          </disk>
      
      With the message:
      
      error: Failed to start domain iscsilun
      error: Unable to get device ID 'iqn.2013-07.com.example:iscsi/1': No such fi
      
      Cause was commit id '1f49b05a' which added 'virDomainDiskSourceIsBlockType'
      109d026a
  22. 25 7月, 2013 1 次提交
    • J
      Don't overwrite errors in qemuTranslateDiskSourcePool · 92605547
      Ján Tomko 提交于
      Both virStoragePoolFree and virStorageVolFree reset the last error,
      which might lead to the cryptic message:
      An error occurred, but the cause is unknown
      
      When the volume wasn't found, virStorageVolFree was called with NULL,
      leading to an error:
      invalid storage volume pointer in virStorageVolFree
      
      This patch changes it to:
      Storage volume not found: no storage vol with matching name 'tomato'
      92605547
  23. 23 7月, 2013 3 次提交
  24. 18 7月, 2013 1 次提交
  25. 11 7月, 2013 1 次提交
  26. 10 7月, 2013 1 次提交
  27. 23 5月, 2013 1 次提交
  28. 21 5月, 2013 2 次提交
  29. 17 5月, 2013 5 次提交
    • O
      qemu: Check conflicts for shared scsi host device · 6aa4fc65
      Osier Yang 提交于
      Just like previous patches, this changes qemuCheckSharedDisk
      into qemuCheckSharedDevice, which takes a virDomainDeviceDefPtr
      argument instead.
      6aa4fc65
    • O
      qemu: Refactor qemuSetUnprivSGIO to support scsi host device · 0453bcdf
      Osier Yang 提交于
      Just like what previous patches do, it refactors qemuSetUnprivSGIO
      to take the virDomainDeviceDefPtr as argument instead.
      0453bcdf
    • O
      qemu: Move qemuSetUnprivSGIO into qemu_conf.c · 99fdd434
      Osier Yang 提交于
      unpriv_sgio setting is tight with the shared device helpers, let's
      put them together in qemu_conf.c
      99fdd434
    • O
      Rename virDomainDiskSGIO to virDomainDeviceSGIO · ead43915
      Osier Yang 提交于
      SCSI host device will also support "sgio", and perhaps we could
      use "sgio" in other places too in future, renaming the enum to
      reuse.
      ead43915
    • O
      qemu: Refactor the helpers to track shared scsi host device · aeda1ff1
      Osier Yang 提交于
      This changes the helpers qemu{Add,Remove}SharedDisk into
      qemu{Add,Remove}SharedDevice, as most of the code in the helpers
      can be reused for scsi host device.
      
      To track the shared scsi host device, first it finds out the
      device path (e.g. /dev/s[dr]*) which is mapped to the sg device,
      and use device ID of the found device path (/dev/s[dr]*) as the
      hash key. This is because of the device ID is not unique between
      between /dev/s[dr]* and /dev/sg*, e.g.
      
      % sg_map
      /dev/sg0  /dev/sda
      /dev/sg1  /dev/sr0
      
      % ls -l /dev/sda
      brw-rw----. 1 root disk 8, 0 May  2 19:26 /dev/sda
      
      %ls -l /dev/sg0
      crw-rw----. 1 root disk 21, 0 May  2 19:26 /dev/sg0
      aeda1ff1
  30. 16 5月, 2013 1 次提交
    • O
      qemu: Rename qemu_driver->sharedDisks to qemu_driver->sharedDevices · 539d0e19
      Osier Yang 提交于
      "Shared disk" is not only the thing we should care about after "scsi
      hostdev" is introduced. A same scsi device can be used as "disk" for
      one domain, and as "scsi hostdev" for another domain at the same time.
      That's why this patch renames qemu_driver->sharedDisks. Related functions
      and structs are also renamed.
      539d0e19
  31. 15 5月, 2013 1 次提交
    • M
      qemu: Add VNC WebSocket support · 85ec7ff6
      Martin Kletzander 提交于
      Adding a VNC WebSocket support for QEMU driver.  This functionality is
      in upstream qemu from commit described as v1.3.0-982-g7536ee4, so the
      capability is being recognized based on QEMU version for now.
      85ec7ff6