1. 26 6月, 2014 3 次提交
  2. 25 6月, 2014 1 次提交
  3. 23 6月, 2014 5 次提交
  4. 19 6月, 2014 3 次提交
  5. 18 6月, 2014 3 次提交
    • P
      block/iscsi: use 16 byte CDBs only when necessary · 9281fe9e
      Peter Lieven 提交于
      this patch changes the driver to uses 16 Byte CDBs for
      READ/WRITE only if the target requires 64bit lba addressing.
      
      On one hand this saves 6 bytes in each PDU on the other
      hand it seems that 10 Byte CDBs seems to be much better
      supported and tested as a recent issue I had with a
      major storage supplier lined out.
      
      For WRITESAME the logic is a bit more tricky as WRITESAME10
      with UNMAP was added really late. Thus a fallback to WRITESAME16
      is possible if it supports UNMAP and WRITESAME10 not.
      Signed-off-by: NPeter Lieven <pl@kamp.de>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      9281fe9e
    • P
      block/iscsi: fix potential segfault on early callback · fcd470d8
      Peter Lieven 提交于
      it might happen in the future that a function directly invokes its callback.
      In this case we end up in a segfault because the iTask is gone when the BH
      is scheduled.
      Signed-off-by: NPeter Lieven <pl@kamp.de>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      fcd470d8
    • P
      block/iscsi: handle BUSY condition · efc6de0d
      Peter Lieven 提交于
      this patch adds handling of BUSY status reponse from an iSCSI target.
      Currently, we fail with -EIO in case of SCSI_STATUS_BUSY while the
      obvious reaction would be to retry the operation after some time.
      The retry time is randomly choosen from a range with exponential
      growth increasing with each retry.
      
      This patch includes most of the changes by a an upcoming patch
      from Stefan Hajnoczi:
      
       iscsi: implement .bdrv_detach/attach_aio_context()
      
      because I also need the reference to the aio_context for
      the retry timer to work. I included the changes to maintain
      better mergeability.
      Signed-off-by: NPeter Lieven <pl@kamp.de>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      efc6de0d
  6. 16 6月, 2014 22 次提交
  7. 10 6月, 2014 1 次提交
  8. 06 6月, 2014 2 次提交
    • H
      sheepdog: reload only header in a case of live snapshot · 5d039bab
      Hitoshi Mitake 提交于
      sheepdog driver doesn't need to read data_vdi_id[] when a live snapshot is
      created.
      
      Cc: Kevin Wolf <kwolf@redhat.com>
      Cc: Stefan Hajnoczi <stefanha@redhat.com>
      Cc: Liu Yuan <namei.unix@gmail.com>
      Cc: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
      Signed-off-by: NHitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      5d039bab
    • H
      sheepdog: fix vdi object update after live snapshot · b544c1ab
      Hitoshi Mitake 提交于
      sheepdog driver should decide a write request is COW or not based on inode
      object which is active when the write request is issued.
      
      Example of wrong inode update path in the previous driver:
      1. drier issues an ordinal write request to an existing object
      2. user creates a snapshot of the VDI before the write request is completed
      3. the respones for the request is RDONLY, because the VDI is already a snapshot
      4. the driver reload an inode object of the new active VDI, then issues a write
         request again
      5. the second write request can be completed
      6. driver decide the request is COW or not with the below conditional branch:
         	  if (s->inode.data_vdi_id[idx] != s->inode.vdi_id) {
      7. the ID of the written object and VID of the new active VDI is different, so
         the driver updates data_vdi_id[idx] and writes inode object
      8. the existing object cannot be seen by the new active VDI, it results object
         leaking
      
      Cc: Kevin Wolf <kwolf@redhat.com>
      Cc: Stefan Hajnoczi <stefanha@redhat.com>
      Cc: Liu Yuan <namei.unix@gmail.com>
      Cc: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
      Signed-off-by: NHitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      b544c1ab