Skip to content
  • Stefan Hajnoczi's avatar
    5fa78b2a
    dma-helpers: dma_blk_io() cancel support · 5fa78b2a
    Stefan Hajnoczi authored
    
    
    Attempting to cancel a dma_blk_io() request causes an abort(3):
    
      void bdrv_aio_cancel(BlockAIOCB *acb)
      {
          ...
          while (acb->refcnt > 1) {
              if (acb->aiocb_info->get_aio_context) {
                  aio_poll(acb->aiocb_info->get_aio_context(acb), true);
              } else if (acb->bs) {
                  aio_poll(bdrv_get_aio_context(acb->bs), true);
              } else {
                  abort();
              }
          }
          ...
      }
    
    This happens because DMAAIOCB->bs is NULL and
    dma_aiocb_info.get_aio_context() is also NULL.
    
    This patch trivially implements dma_aiocb_info.get_aio_context() by
    fetching the DMAAIOCB->ctx field.
    
    Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
    Reviewed-by: default avatarFam Zheng <famz@redhat.com>
    Message-id: 1466451417-27988-1-git-send-email-stefanha@redhat.com
    Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
    5fa78b2a
    dma-helpers: dma_blk_io() cancel support
    Stefan Hajnoczi authored
    
    
    Attempting to cancel a dma_blk_io() request causes an abort(3):
    
      void bdrv_aio_cancel(BlockAIOCB *acb)
      {
          ...
          while (acb->refcnt > 1) {
              if (acb->aiocb_info->get_aio_context) {
                  aio_poll(acb->aiocb_info->get_aio_context(acb), true);
              } else if (acb->bs) {
                  aio_poll(bdrv_get_aio_context(acb->bs), true);
              } else {
                  abort();
              }
          }
          ...
      }
    
    This happens because DMAAIOCB->bs is NULL and
    dma_aiocb_info.get_aio_context() is also NULL.
    
    This patch trivially implements dma_aiocb_info.get_aio_context() by
    fetching the DMAAIOCB->ctx field.
    
    Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
    Reviewed-by: default avatarFam Zheng <famz@redhat.com>
    Message-id: 1466451417-27988-1-git-send-email-stefanha@redhat.com
    Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
Loading