1. 01 7月, 2014 1 次提交
  2. 28 6月, 2014 1 次提交
  3. 27 6月, 2014 1 次提交
  4. 23 6月, 2014 22 次提交
  5. 19 6月, 2014 1 次提交
  6. 01 3月, 2014 1 次提交
  7. 22 2月, 2014 1 次提交
    • B
      quorum: Add quorum mechanism. · 95c6bff3
      Benoît Canet 提交于
      This patchset enables the core of the quorum mechanism.
      The num_children reads are compared to get the majority version and if this
      version exists more than threshold times the guest won't see the error at all.
      
      If a block is corrupted or if an error occurs during an IO or if the quorum
      cannot be established QMP events are used to report to the management.
      
      Use gnutls's SHA-256 to compare versions.
      
      --enable-quorum must be used to enable the feature.
      Signed-off-by: NBenoit Canet <benoit@irqsave.net>
      Reviewed-by: NMax Reitz <mreitz@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      95c6bff3
  8. 16 1月, 2014 1 次提交
  9. 18 9月, 2013 2 次提交
  10. 06 9月, 2013 1 次提交
  11. 16 7月, 2013 1 次提交
    • A
      net: add support of mac-programming over macvtap in QEMU side · b1be4280
      Amos Kong 提交于
      Currently macvtap based macvlan device is working in promiscuous
      mode, we want to implement mac-programming over macvtap through
      Libvirt for better performance.
      
      Design:
       QEMU notifies Libvirt when rx-filter config is changed in guest,
       then Libvirt query the rx-filter information by a monitor command,
       and sync the change to macvtap device. Related rx-filter config
       of the nic contains main mac, rx-mode items and vlan table.
      
      This patch adds a QMP event to notify management of rx-filter change,
      and adds a monitor command for management to query rx-filter
      information.
      
      Test:
       If we repeatedly add/remove vlan, and change macaddr of vlan
       interfaces in guest by a loop script.
      
      Result:
       The events will flood the QMP client(management), management takes
       too much resource to process the events.
      
       Event_throttle API (set rate to 1 ms) can avoid the events to flood
       QMP client, but it could cause an unexpected delay (~1ms), guests
       guests normally expect rx-filter updates immediately.
      
       So we use a flag for each nic to avoid events flooding, the event
       is emitted once until the query command is executed. The flag
       implementation could not introduce unexpected delay.
      
      There maybe exist an uncontrollable delay if we let Libvirt do the
      real change, guests normally expect rx-filter updates immediately.
      But it's another separate issue, we can investigate it when the
      work in Libvirt side is done.
      
      Michael S. Tsirkin: tweaked to enable events on start
      Michael S. Tsirkin: fixed not to crash when no id
      Michael S. Tsirkin: fold in patch:
         "additional fixes for mac-programming feature"
      Amos Kong: always notify QMP client if mactable is changed
      Amos Kong: return NULL list if no net client supports rx-filter query
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NAmos Kong <akong@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      b1be4280
  12. 08 6月, 2013 1 次提交
  13. 30 4月, 2013 1 次提交
  14. 27 3月, 2013 1 次提交
  15. 17 3月, 2013 1 次提交
  16. 24 10月, 2012 1 次提交
    • P
      block: introduce BLOCK_JOB_READY event · a66a2a36
      Paolo Bonzini 提交于
      Even for jobs that need to be manually completed, management may want
      to take care itself of the completion, not requiring the user to issue
      a command to terminate the job.  In this case we want to avoid that
      they poll us continuously, waiting for completion to become available.
      Thus, add a new event that signals the phase switch and the availability
      of the block-job-complete command.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      a66a2a36
  17. 29 9月, 2012 2 次提交
    • P
      block: introduce block job error · 32c81a4a
      Paolo Bonzini 提交于
      The following behaviors are possible:
      
      'report': The behavior is the same as in 1.1.  An I/O error,
      respectively during a read or a write, will complete the job immediately
      with an error code.
      
      'ignore': An I/O error, respectively during a read or a write, will be
      ignored.  For streaming, the job will complete with an error and the
      backing file will be left in place.  For mirroring, the sector will be
      marked again as dirty and re-examined later.
      
      'stop': The job will be paused and the job iostatus will be set to
      failed or nospace, while the VM will keep running.  This can only be
      specified if the block device has rerror=stop and werror=stop or enospc.
      
      'enospc': Behaves as 'stop' for ENOSPC errors, 'report' for others.
      
      In all cases, even for 'report', the I/O error is reported as a QMP
      event BLOCK_JOB_ERROR, with the same arguments as BLOCK_IO_ERROR.
      
      It is possible that while stopping the VM a BLOCK_IO_ERROR event will be
      reported and will clobber the event from BLOCK_JOB_ERROR, or vice versa.
      This is not really avoidable since stopping the VM completes all pending
      I/O requests.  In fact, it is already possible now that a series of
      BLOCK_IO_ERROR events are reported with rerror=stop, because vm_stop
      calls bdrv_drain_all and this can generate further errors.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      32c81a4a
    • J
      QAPI: add command for live block commit, 'block-commit' · ed61fc10
      Jeff Cody 提交于
      The command for live block commit is added, which has the following
      arguments:
      
      device: the block device to perform the commit on (mandatory)
      base:   the base image to commit into; optional (if not specified,
              it is the underlying original image)
      top:    the top image of the commit - all data from inside top down
              to base will be committed into base (mandatory for now; see
              note, below)
      
      speed:  maximum speed, in bytes/sec
      
      Note: Eventually this command will support merging down the active layer,
            but that code is not yet complete.  If the active layer is passed
            in as top, then an error will be returned.  Once merging down the
            active layer is supported, the 'top' argument may become optional,
            and default to the active layer.
      
      The is done as a block job, so upon completion a BLOCK_JOB_COMPLETED will
      be emitted.
      Signed-off-by: NJeff Cody <jcody@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      ed61fc10