1. 21 9月, 2013 1 次提交
  2. 13 9月, 2013 1 次提交
  3. 12 9月, 2013 8 次提交
  4. 06 9月, 2013 6 次提交
  5. 02 9月, 2013 2 次提交
  6. 30 8月, 2013 4 次提交
  7. 23 8月, 2013 4 次提交
  8. 20 8月, 2013 1 次提交
  9. 19 8月, 2013 5 次提交
    • S
      aio: drop io_flush argument · f2e5dca4
      Stefan Hajnoczi 提交于
      The .io_flush() handler no longer exists and has no users.  Drop the
      io_flush argument to aio_set_fd_handler() and related functions.
      
      The AioFlushEventNotifierHandler and AioFlushHandler typedefs are no
      longer used and are dropped too.
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      f2e5dca4
    • S
      tests: drop event_active_cb() · 1b9ecdb1
      Stefan Hajnoczi 提交于
      Drop the io_flush argument to aio_set_event_notifier().
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      1b9ecdb1
    • S
      aio: stop using .io_flush() · 164a101f
      Stefan Hajnoczi 提交于
      Now that aio_poll() users check their termination condition themselves,
      it is no longer necessary to call .io_flush() handlers.
      
      The behavior of aio_poll() changes as follows:
      
      1. .io_flush() is no longer invoked and file descriptors are *always*
      monitored.  Previously returning 0 from .io_flush() would skip this file
      descriptor.
      
      Due to this change it is essential to check that requests are pending
      before calling qemu_aio_wait().  Failure to do so means we block, for
      example, waiting for an idle iSCSI socket to become readable when there
      are no requests.  Currently all qemu_aio_wait()/aio_poll() callers check
      before calling.
      
      2. aio_poll() now returns true if progress was made (BH or fd handlers
      executed) and false otherwise.  Previously it would return true whenever
      'busy', which means that .io_flush() returned true.  The 'busy' concept
      no longer exists so just progress is returned.
      
      Due to this change we need to update tests/test-aio.c which asserts
      aio_poll() return values.  Note that QEMU doesn't actually rely on these
      return values so only tests/test-aio.c cares.
      
      Note that ctx->notifier, the EventNotifier fd used for aio_notify(), is
      now handled as a special case.  This is a little ugly but maintains
      aio_poll() semantics, i.e. aio_notify() does not count as 'progress' and
      aio_poll() avoids blocking when the user has not set any fd handlers yet.
      
      Patches after this remove .io_flush() handler code until we can finally
      drop the io_flush arguments to aio_set_fd_handler() and friends.
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      164a101f
    • S
      tests: adjust test-thread-pool to new aio_poll() semantics · 35ecde26
      Stefan Hajnoczi 提交于
      aio_poll(ctx, true) will soon block when fd handlers have been set.
      Previously aio_poll() would return early if all .io_flush() returned
      false.  This means we need to check the equivalent of the .io_flush()
      condition *before* calling aio_poll(ctx, true) to avoid deadlock.
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      35ecde26
    • S
      tests: adjust test-aio to new aio_poll() semantics · 24d1a6d9
      Stefan Hajnoczi 提交于
      aio_poll(ctx, true) will soon block if any fd handlers have been set.
      Previously it would only block when .io_flush() returned true.
      
      This means that callers must check their wait condition *before*
      aio_poll() to avoid deadlock.
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      24d1a6d9
  10. 17 8月, 2013 2 次提交
  11. 06 8月, 2013 6 次提交