1. 18 Apr, 2012 1 commit
  2. 17 Apr, 2012 5 commits
  3. 05 Apr, 2012 1 commit
  4. 26 Mar, 2012 1 commit
  5. 19 Mar, 2012 2 commits
  6. 13 Mar, 2012 3 commits
  7. 12 Mar, 2012 4 commits
  8. 27 Feb, 2012 1 commit
  9. 22 Feb, 2012 1 commit
  10. 09 Feb, 2012 2 commits
    • Stefan Hajnoczi's avatar
      qed: replace is_write with flags field · 6e4f59bd
      Stefan Hajnoczi authored
      Per-request attributes like read/write are currently implemented as bool
      fields in the QEDAIOCB struct.  This becomes unwiedly as the number of
      attributes grows.  For example, the qed_aio_setup() function would have
      to take multiple bool arguments and at call sites it would be hard to
      distinguish the meaning of each bool.
      
      Instead use a flags field with bitmask constants.  This will be used
      when zero write support is added.
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      6e4f59bd
    • Stefan Hajnoczi's avatar
      block: add .bdrv_co_write_zeroes() interface · f08f2dda
      Stefan Hajnoczi authored
      The ability to zero regions of an image file is a useful primitive for
      higher-level features such as image streaming or zero write detection.
      
      Image formats may support an optimized metadata representation instead
      of writing zeroes into the image file.  This allows zero writes to be
      potentially faster than regular write operations and also preserve
      sparseness of the image file.
      
      The .bdrv_co_write_zeroes() interface should be implemented by block
      drivers that wish to provide efficient zeroing.
      
      Note that this operation is different from the discard operation, which
      may leave the contents of the region indeterminate.  That means
      discarded blocks are not guaranteed to contain zeroes and may contain
      junk data instead.
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      f08f2dda
  11. 30 Jan, 2012 1 commit
  12. 26 Jan, 2012 5 commits
  13. 19 Jan, 2012 1 commit
  14. 13 Jan, 2012 1 commit
  15. 03 Jan, 2012 1 commit
  16. 21 Dec, 2011 1 commit
  17. 15 Dec, 2011 1 commit
    • Paolo Bonzini's avatar
      block: bdrv_aio_* do not return NULL · ad54ae80
      Paolo Bonzini authored
      Initially done with the following semantic patch:
      
      @ rule1 @
      expression E;
      statement S;
      @@
        E =
      (
         bdrv_aio_readv
      |  bdrv_aio_writev
      |  bdrv_aio_flush
      |  bdrv_aio_discard
      |  bdrv_aio_ioctl
      )
           (...);
      (
      - if (E == NULL) { ... }
      |
      - if (E)
          { <... S ...> }
      )
      
      which however missed the occurrence in block/blkverify.c
      (as it should have done), and left behind some unused
      variables.
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      ad54ae80
  18. 05 Dec, 2011 2 commits
  19. 30 Oct, 2011 1 commit
  20. 28 Oct, 2011 2 commits
    • Paolo Bonzini's avatar
      scsi: do not call transfer_data after canceling a request · e88c591d
      Paolo Bonzini authored
      Otherwise, if cancellation is "faked" by the AIO layer and goes
      through qemu_aio_flush, the whole request is completed synchronously
      during scsi_req_cancel.
      
      Using the enqueued flag would work here, but not in the next patches,
      so I'm introducing a new io_canceled flag.  That's because scsi_req_data
      is a synchronous callback and the enqueued flag might be reset by the
      time it returns.  scsi-disk cannot unref the request until after calling
      scsi_req_data.
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      e88c591d
    • Ronnie Sahlberg's avatar
      iSCSI block driver · c589b249
      Ronnie Sahlberg authored
      This provides built-in support for iSCSI to QEMU.
      
      This has the advantage that the iSCSI devices need not be made visible to the host, which is useful if you have very many virtual machines and very many iscsi devices.
      It also has the benefit that non-root users of QEMU can access iSCSI devices across the network without requiring root privilege on the host.
      
      This driver interfaces with the multiplatform posix library for iscsi initiator/client access to iscsi devices hosted at
          git://github.com/sahlberg/libiscsi.git
      
      The patch adds the driver to interface with the iscsi library.
      It also updated the configure script to
      * by default, probe is libiscsi is available and if so, build
        qemu against libiscsi.
      * --enable-libiscsi
        Force a build against libiscsi. If libiscsi is not available
        the build will fail.
      * --disable-libiscsi
        Do not link against libiscsi, even if it is available.
      
      When linked with libiscsi, qemu gains support to access iscsi resources such as disks and cdrom directly, without having to make the devices visible to the host.
      
      You can specify devices using a iscsi url of the form :
      iscsi://[<username>[:<password>@]]<host>[:<port]/<target-iqn-name>/<lun>
      When using authentication, the password can optionally be set with
      LIBISCSI_CHAP_PASSWORD="password" to avoid it showing up in the process list
      Signed-off-by: default avatarRonnie Sahlberg <ronniesahlberg@gmail.com>
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      c589b249
  21. 26 Oct, 2011 3 commits