1. 06 3月, 2013 6 次提交
    • P
      scsi-disk: handle io_canceled uniformly and correctly · 0c92e0e6
      Paolo Bonzini 提交于
      Always check it immediately after calling bdrv_acct_done, and
      always do a "goto done" in case the "done" label has to free
      some memory---as is the case for scsi_unmap_complete in the
      previous patch.
      
      This patch could fix problems that happen when a request is
      split into multiple parts, and one of them is canceled.  Then
      the next part is fired, but the HBA's cancellation callbacks have
      fired already.  Whether this happens or not, depends on how the
      block/ driver implements AIO cancellation.  It it does a simple
      bdrv_drain_all() or similar, then it will not have a problem.
      If it only cancels the given AIOCB, this scenario could happen.
      
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      0c92e0e6
    • P
      scsi-disk: do not complete canceled UNMAP requests · d0242ead
      Paolo Bonzini 提交于
      Canceled requests should never be completed, and doing that could cause
      accesses to a NULL hba_private field.
      
      Cc: qemu-stable@nongnu.org
      Reported-by: NStefan Priebe <s.priebe@profihost.ag>
      Tested-by: NStefan Priebe <s.priebe@profihost.ag>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      d0242ead
    • P
      scsi: do not call scsi_read_data/scsi_write_data for a canceled request · 6f6710aa
      Paolo Bonzini 提交于
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      6f6710aa
    • P
      iscsi: look for pkg-config file too · 3c33ea96
      Paolo Bonzini 提交于
      Due to library conflicts, Fedora will have to put libiscsi in
      /usr/lib/iscsi.  Simplify configuration by using a pkg-config
      file.  The Fedora package will distribute one, and the patch
      to add it has been sent to upstream libiscsi as well.
      
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      3c33ea96
    • P
      iscsi: add iscsi_truncate support · cb1b83e7
      Peter Lieven 提交于
      this patch adds iscsi_truncate which effectively allows for
      online resizing of iscsi volumes. for this to work you have
      to resize the volume on your storage and then call
      block_resize command in qemu which will issue a
      readcapacity16 to update the capacity.
      
      v4:
        - factor out complete readcapacity logic into a separate function
        - handle capacity change check condition in readcapacity function
          (this happens if the block_resize cmd is the first iscsi task
          executed after a resize on the storage)
      
      v3:
        - remove switch statement in iscsi_open
        - create separate patch for brdv_drain_all() in bdrv_truncate()
      
      v2:
        - add a general bdrv_drain_all() before bdrv_truncate() to avoid
          in-flight AIOs while the device is truncated
        - since no AIOs are in flight we can use a sync libiscsi call
          to re-read the capacity
        - factor out the readcapacity16 logic as it is redundant
          to iscsi_open() and iscsi_truncate().
      Signed-off-by: NPeter Lieven <pl@kamp.de>
      [allow any type of unit attention check condition in iscsi_readcapacity_sync(),
       as in Message-ID: <51263A2A.6070304@dlhnet.de> - Paolo]
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      cb1b83e7
    • P
      iscsi: retry read, write, flush and unmap on unit attention check conditions · 1dde716e
      Peter Lieven 提交于
      the storage might return a check condition status for various reasons.
      (e.g. bus reset, capacity change, thin-provisioning info etc.)
      
      currently all these informative status responses lead to an I/O error
      which is populated to the guest. this patch introduces a retry mechanism
      to avoid this.
      Signed-off-by: NPeter Lieven <pl@kamp.de>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      1dde716e
  2. 05 3月, 2013 24 次提交
  3. 04 3月, 2013 10 次提交